最新回答 / zhangcl
不要从变量去理解类型这个东西,你要看是什么类型,应该看=后面的值,而不是看变量,比如说 var a = "str"; 此时a就是和"str"的类型一样,如果你重新赋值 a = 123,此时a就是和123的类型一样,虽然a的类型变化了,但是"str" 和 123的类型永远不会发生变化,现在理解起来是不是很容易了,不知道对你有没有帮助。变量的类型是随着值的变化而变化的,所以是弱类型语言
2016-05-09
已采纳回答 / 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