JavaScript_构造函数/原型/实例对象的关系

JavaScript_构造函数/原型/实例对象的关系
1.所有的实例对象都有隐式原型属性。
2.每一个函数function都有一个prototype显示原型属性。
3.对象的隐式原型的值为其对应构造函数的显式原型的值。
4.函数的prototype属性: 在定义函数时自动添加的, 默认值是一个空Object对象。
5.对象的proto属性: 创建对象时自动添加的, 默认值为构造函数的prototype属性值。
6.function Foo{}等于var Foo = new Function()所以有隐式原型属性,即所有函数都有隐式和显示原型属性。
7.所有函数的隐式原型都相等,都是new Function产生的。
8.function Function()既有显示原型属性也具有隐式原型属性且相同,说明Function=new Function。
9.function Object()的隐式原型等于function Function的显示原型,进一步说明每个函数都是Function的实例(包括他本身)。
10.函数的显示原型指向的对象, 默认是空的Object实例对象,单Object不满足。
注:Function的显示原型也是Object的实例
11.Object原型对象是原型链的尽头,即null

function Fn(){
            this.test1 = function(){
                console.log('test1()');
            };
        }

        Fn.prototype.test2 = function(){
            console.log('test2()');
        };

        var fn = new Fn();

        console.log(Fn.prototype instanceof Object)//true
        console.log(Object.prototype instanceof Object)//false
        console.log(Function.prototype instanceof Object)//true
        console.log(Function.__proto__===Function.prototype)//true
        console.log(Object.prototype.__proto__)//null

转载于:https://blog.51cto.com/ltzbk/2095318

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值