已采纳回答 / CHWYH
接上边:this通常是指向当前函数的拥有者,所以当前方法 f 的拥有者是 对象o,所以 o.f() 时执行 f() ,this 指向 o, o.prop=37;
2016-04-28
已采纳回答 / 交替的黑白键
是的,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
已采纳回答 / 思椋
在 JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。对于数组、对象来说,其关系错综复杂,使用 typeof 都会统一返回 “object” 字符串。
2016-04-19
已采纳回答 / 等待Mr薰衣草
! function (){}(1) 表示该函数是一个函数表达式而不是函数声明,后面的(1)是将参数1传递进去,前面的!,你可以理解成它是将函数声明转化成函数表达式的一种方法。!function (){}(1)也等同于(function (){})(1);,!也可换成+、-这样的一元运算符,都可以起到相同的作用。函数也是一种对象,arguments是它的一个属性,函数的属性还包括name,length等等。
2016-04-18
已采纳回答 / lann
抱歉,后半句不太准确。个人理解,关键在于对countMap[]的判断那部分的理解。首先,数组的‘索引’不仅是数字,也可以是字符串,因为数组本身也是对象,‘索引’是字符串时就是对象的属性了。<...code...>其次关于typeOf 的返回值。我对答案示例的理解是,一定会返回一个字符串,结合上面的小例子。countMap{ objtype : value , }可以参考下阮一峰老师讲的 数组
2016-04-15