javascript - 如何理解prototype和__proto__的区别呢?
问题描述
如何理解prototype和__proto__的区别呢?
问题解答
回答1:构造函数访问原型时,通常通过prototype来访问,例如我们往原型上添加方法
Person.prototype.getName = function() {}
当new出来的实例访问原型时,在一些支持的浏览器中
function Person() {}var p1 = new Person();p1.__proto__ === Person.prototype // true
结论:prototype是作为构造函数去访问原型,而__proto__是作为实例去访问原型。当自身身份不一样,即使一个方法同时调用两者时,访问到的可能是不同的原型。
回答2:每个对象都有__proto__,而prototype只有Function有;
回答3:也许你也可以看看这些:
/a/11...
https://developer.mozilla.org...
https://developer.mozilla.org...
回答4:prototype 是构造函数的一个属性,__proto__ 是实例的一个属性。使用构造函数生成的实例的 __proto__ 属性会指向构造函数 prototype 属性所指向的对象。
嗯,就是这样。
回答5:从作用上来说:prototype 确定了当利用构造器或字面量形式定义对象时 proto 的默认值
proto 是 js 引擎原型链搜索的依据
所以重点在于当你要更改原型链的搜索方式时,可以通过更改构造器 prototype 来改变后续所有实例化对象的原型链查找方式,利用 proto 来修改单个对象的原型链查找.
相关文章:
1. python如何搜索字符串2. pdo 写入到数据库的内容为中文的时候写入乱码3. python3.x - 我把3.6的卸载了,也重启了,但是在cmd用python -V指令查看版本时,还是提示下图的python3.64. PHP类封装的插入数据,总是插入不成功,返回false;5. 二维数组怎么重新组合6. 网页爬虫 - python+requests 网页重定向求解7. javascript - vue1.0在微信浏览器的兼容性?8. 如何使用mysql查询每个用户一次操作时记录的值9. mysql 时间类型 字段(精确到时分秒) 怎么比较?10. python - 斗鱼关注人数爬下来是张加载图片,如何爬取关注人数
![android-studio - 一直无法下载android studio的 安卓模拟器求助](http://www.haobala.com/attached/image/news/202310/095450fe73.jpg)