javascript - js原型链问题
PHP中文网
PHP中文网 2017-04-11 13:01:39
0
5
581
var a = {}; a.prototype = {b:'heheh'} console.log(a.b)

为什么a.b 是undefined呢??

PHP中文网
PHP中文网

认证0级讲师

全部回复 (5)
伊谢尔伦

这种情况其实是为 a 对象添加了一个 prototype 属性

var a = {prototype:{b:'heheh'}};

并不是对象的原型,我想你需要如此如此:

var a = {b:"b”}; var b= Object.create(a); b.b

或者如此如此:

function A(){} A.prototype = {b:'heheh'} var a = new A; a.b
    左手右手慢动作

    只有构造函数才有原型链概念,而 a 是对象。

      大家讲道理

      对象并没有prototype属性.
      对象的属性是__proto__, 是一个不可枚举的属性.
      prototype属性是针对于构造函数的.
      一个是函数, 一个是对象. 不可混淆.

        Peter_Zhu
        var a = {}; a.prototype = {b:'heheh'} //给a添加一个属性prototype,值为一个对象 console.log(a.prototype.b) //要取就要这样取 'heheh'

        你本意是想添加原型链属性,原型链希望有助。

          阿神

          区分一下prototype和__proto__

            最新下载
            更多>
            网站特效
            网站源码
            网站素材
            前端模板
            关于我们 免责声明 Sitemap
            PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!