美文网首页
javascript prototype

javascript prototype

作者: 飞鱼Q | 来源:发表于2016-02-01 15:09 被阅读0次

/Javascript规定,每一个构造函数都有一个prototype属性,指向另一个对象。
这个对象的所有属性和方法,都会被构造函数的实例继承。
/

    function person(name,age){
        this.name = name;
        this.age = age;
    
    }
    person.prototype.eat = function() {
        console.log("eat a shit!");
    }
    person.prototype.HAND_NUM = 2;
    
    var p1 = new person("a",10);
    var p2 = new person("b",5);
    
    
    
    //如果实例(p1)包含了构造函数原型(person.prototype)的方法和属性,那就返回true
    console.log(person.prototype.isPrototypeOf(p1));//true
    
    //name是person自己构造的,属于自己
    console.log(p1.hasOwnProperty("name"));//true
    //HAND_NUM是在person.prototype上面定义的,不属于person自己的
    console.log(p1.hasOwnProperty("HAND_NUM"));//false
    
    //in 不管是对象本身(this)的属性,还是原型(prototype)的属性,只要存在,都为ture
    console.log("age" in p1);//true
    console.log("HAND_NUM" in p1);//true
    
    //遍历实例对象中的属性
    for(var prop in p1){
        console.log(p1[prop]);
    }

相关文章

网友评论

      本文标题:javascript prototype

      本文链接:https://www.haomeiwen.com/subject/rbuskttx.html