面向对象的prototype

  function Cat(){
            this.name=‘小白‘;
        }
        Cat.prototype.color=‘white‘;
        Cat.prototype.skill=function(){
            alert(‘吃鱼‘);
        }
        var cat1=new Cat();
        console.log(cat1.name);//小白
        console.log(Cat.prototype);//object
        console.log(cat1.prototype);//undefined
        console.log(cat1 instanceof Cat);//true
        console.log(cat1 instanceof Object);//true
        var obj=new Object();
        Object.prototype.abc=‘123‘;
        var str=‘abcd‘;
        var arr=[‘1‘,‘2‘,‘3‘];
        console.log(str.abc);//123
        console.log(arr.abc);//123
        String.prototype.len=function(){
            return this.length;
        }
        alert(str.len());
        console.log(str.__proto__);//String        console.log(str.constructor);// String

     console.log(str.constructor.prototype.constructor);// String

        console.log(str.__proto__.__proto__);//Object
        Date.prototype.getWeek=function(){
            var arr=[‘周末‘,‘周一‘,‘周二‘,‘周三‘,‘周四‘,‘周五‘,‘周六‘];
            var index=this.getDay();//0-6
            return arr[index];
        }
        var date=new Date();
        console.log(date.getWeek());//周六
Array.prototype.quchong=function (){
        var arr=[];
        this.sort(function (a,b){return a-b;});
        for (var i = 0; i < this.length; i++) {
            if (this[i]==this[i+1]) {
                continue;
            };
            arr.push(this[i]);
        };
        return arr;
    }
    var arr1=[12,45,7,12,75,45,5,32,12];
    console.log(arr1.quchong());
function fn1(){
            var x=5;
            x++;
            alert(x);
        }
        fn1();//6
        fn1();//6
        fn1();//6
        fn1();//6
        function fn2(){
            var x=5;
            function fn3(){
                x++;
                alert(x);
            }
            return fn3;
        }
        var fn=fn2();
        fn();//6
        fn();//7
        fn();//8
        fn();//9
时间: 2024-10-08 07:06:08

面向对象的prototype的相关文章

JS面向对象、prototype、call()、apply()

一. 起因 那天用到prototype.js于是打开看看,才看几行就满头雾水,原因是对js的面向对象不是很熟悉,于是百度+google了一把,最后终于算小有收获,写此纪念一下^_^. prototype.js代码片段 复制代码 代码如下: var Class = { create: function() { return function() { this.initialize.apply(this , arguments); } } } // Class使用方法如下 var A = Class

prototype 原型的学习

2017年4月18日09:01:32 原型:prototype (面向对象) prototype:在js中,任何一个函数,都有一个prototype属性,指向一个对象,输出这个函数的prototype属性,你会发现一个空对象,输出这个prototype的类型是一个object. 1:原型作用:一个函数的原型,对于普通函数,没有作用,但是如果函数是一个构造函数,name函数的原型,有非常大的作用,具体如下 //当一个函数被new出来的时候,不仅仅执行了构造函数里面的语句,也会把这个函数的proto

C# 学习计划

下定决心学习C#, 要做实际的项目还有记下笔记 考验自己,连这个都做不好的话你能做什么?仔细想想你凭什么赚钱? 一个要把这关过掉. 有一句话说 失败很多就是过早地推出,我一定要坚持这个计划,把这个计划完成,每天都要努力,最好一年内完成,不过不管拖了多长时间,这个计划一定要完成. 记笔记要注意的事项: 1.不要直接抄书上的,用自己的语言,不看书写笔记 2.不求全.只求突出重点还有易错点 学习计划如下: 第一阶段:.Net基础加强 常用数据结构(List.Dictionary.Array).多态.常

HTML5 Canvas彩色小球碰撞运动特效

脚本简介 HTML5 Canvas彩色小球碰撞运动特效是一款基于canvas加面向对象制作的运动小球动画特效. 效果展示 http://hovertree.com/texiao/html5/39/ 效果图如下: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>HTML5 Canvas彩色小球碰撞运动特效

JavaScript 面向对象 (prototype 原型模式)

一. JavaScript 设计思想 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版.这是历史上第一个比较成熟的网络浏览器,轰动一时.但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力.比如,如果网页上有一栏"用户名"要求填写,浏览器就无法判断访问者是否真的填写了,只有让服务器端判断.如果没有填写,服务器端就返回错误,要求用户重新填写,这太浪费时间和服务器资源了. 因此,网景公司急需一种网页脚本语言,使得浏览器可以与网页互动.工程师_Brend

js面向对象编程: js类定义函数时prototype和this差别?

在面向对象编写js脚本时,定义实例方法主要有两种 例如以下: function ListCommon2(afirst) { var first=afirst; this.do1=function () { alert("first do"+first); } } ListCommon2.prototype.do2=function() { // alert("first do"+first);//会出错.不能訪问first this.do1(); } this.do

面向对象--prototype

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .g{ background-color: #cccccc; color: #000; text-align: center; font-size: 60px; } </style> <

JavaScript面向对象编程(4)重写prototype造成的混乱

先来看两个现象: 1.分量形式声明prototype(部分重写),prototype的构造器为宿主函数而不是Object,就像直接给宿主构造器增加了属性一样 function Dog(){this.tail = true;} //新建两条狗,注意此时还没有定义prototype var benji = new Dog(); var rusty = new Dog(); Dog.prototype.say = function(){return 'Woof!';} //1.部分重写,prototy

戏说javascript原型(prototype)实现面向对象

原型prototype JS中的方法分为三类:类方法,对象方法,原型方法 比如:一个类(Function,为对比java,以下统称为类) function Parent(name){ this.name=name; this.sayHello=function(){ alert('Hello,'+name); } } Parent类中sayHello方法就是对象方法,类比java中的实例方法 那么我这样定义一个方法呢? Parent.run=function(){ alert('run--');