手机版

Javascript原型链和原型的一个误区

时间:2021-09-09 来源:互联网 编辑:宝哥软件园 浏览:

之前我对爪哇岛描述语言的原型链中,原型继承与标识符查找有些迷惑,

如,如下的代码:

复制代码代码如下:函数Foo(){ };var Foo=new Foo();福。原型。标签=' lar '影响力;警报(foo。标签);//输出: larquencealert(Foo。标签);//output:未定义

今天看到了如下这个图:

java描述语言对象布局另外,在java描述语言对象层次看到:

原型仅用于由该函数创建的对象/实例继承的属性。函数本身不使用关联的原型。

也就是说,函数对象的原型并不作用于原型链查找过程中,

今天在火狐浏览器下发现(因为火狐浏览器通过__原型_ _暴露了[[原型]]),真正参与标识符查找的是函数对象的__原型_ _,

复制代码代码如下:函数Foo(){ };var Foo=new Foo();福。__原型_ _。标签=影响力;警报(Foo。标签);//输出: larquencealert(foo。标签);//output:未定义

而,显然的:

复制代码代码如下:函数Foo(){ };警报(福._ _ proto _ _===Foo。原型);//output: false

另外,也解释了,

复制代码代码如下:警报;//undefinedffunction。原型。foreach=函数(对象、块、上下文){ for(对象中的定义变量键){ if(这种类型。prototype[key]==' undefined '){ block。调用(上下文、对象[键]、键、对象);} }};警报;警报;警报(对象。foreach===函数。foreach);//真

版权声明:Javascript原型链和原型的一个误区是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。