简单粗暴理解js原型

一直以来对 js 原型不是很了解,总是忘了又看看了有忘,没有一个总体的了解,今天画了一张原型图,方便自己理解,希望对又看到的同学有所帮助


个人感觉,学习js原型对照链表的理解困难可能会好一点


一段简单的js代码

function A(x){
        this.x = x;
    }
var obj = new A(1);



测试代码:

    console.log(A);//function A(x){this.x=x;}
    console.log(obj);//A {x: 1}
    console.log(A.prototype);//Object {constructor: function}
    console.log(obj.__proto__);//Object {constructor: function}
    console.log(A.prototype === obj.__proto__);
    console.log(A.prototype.constructor === obj.constructor);//true
    console.log(A === obj.constructor)//true


    console.log(A.constructor);//function Function() { [native code] }
    console.log(A.__proto__);//function () { [native code] }


    console.log(A.prototype.prototype)//undefined
    console.log(A.prototype.__proto__);//Object {__defineGetter__: function, __defineSetter__: function, hasOwnProperty: function, __lookupGetter__: function, __lookupSetter__: function…}

    var obj2 = new Object();
    console.log(A.prototype.__proto__.__proto__);//null
    console.log(A.prototype.__proto__.constructor);//function Object() { [native code] }
    console.log(A.prototype.__proto__.constructor === obj2.constructor);//true
    console.log(A.prototype.__proto__ === obj2.__proto__);//true
    console.log(A.prototype.__proto__.constructor.prototype === A.prototype.__proto__);//true

    console.log(Object.constructor);//function Function() { [native code] }
    console.log(Object.__proto__);//function () { [native code] }


哪里有不对的还请多多指教!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值