美文网首页
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