已采纳回答 / CHWYH
接上边:this通常是指向当前函数的拥有者,所以当前方法 f 的拥有者是 对象o,所以 o.f() 时执行 f() ,this 指向 o, o.prop=37;
2016-04-28
最赞回答 / weibo_宝慕林349606
Object.defineProperties在全局定义了与那几个构造函数同名的属性,这些属性的值就是这几个构造函数,所以可以在全局通过这些属性访问到构造函数
2016-04-26
已采纳回答 / 交替的黑白键
是的,function a(){}只有声明过程;顺序是这样的:1.function a(){return 5;}进行函数声明; 2.var a被忽略; 3.var a=1使a被赋值为1,并覆盖掉了函数声明,使a变成了number然后强制输出a()是执行函数的语句,a不是函数当然报错了~
2016-04-25
已采纳回答 / weibo_我喜欢大海洋_0
第一、prototype是一个构造函数的属性,不是一个对象实例的属性,所以,你这a.prototype.y=2;这句话是不对的,因为实例a没有prototype属性,按你的目的,应该这样写:Object.prototype.y=2;这样的话,a的原型中就有y属性了,且值为2。又因为a是b的原型,所以b从原型链上继承了y属性,即b.y的值为2。(建议:自己写下代码实践一下就知道了!)附上代码:<...code...>
2016-04-23
最新回答 / 飞过那座山
这个是让你理解js引擎初始化全局VO中的,[[global]] = { ... window: global}; 意思是window指向的是全局的VO,所以window无限循环下去都是指向全局的VO
2016-04-21
已采纳回答 / 思椋
在 JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。对于数组、对象来说,其关系错综复杂,使用 typeof 都会统一返回 “object” 字符串。
2016-04-19