讲师回答 / Bosn
这就是闭包,在初始化函数的处理(addEventListenr)时,click事件处理函数引用的是for循环中的变量i。初始化结束后,当用户点击这四个元素中的任何一个时,引用的i仍然是for循环中的i,由于初始化结束后i的值是4,所以自然就都是4.
2015-04-19
已采纳回答 / Bosn
constructor是可以随意修改的,一般情况下,构造器A创建的对象的constructor属性就是A(通过A.prototype继承而来)这里重新设值只是为了迎合这个“习惯”,其实没有太大的意义,因为constructor本就可以随意修改。
2015-04-19
已采纳回答 / 不断滴自我催眠
````明显不对···建议你去看看一个牛人针对这题写的代码··注意他的分析和思路http://gaohaoyang.github.io/2015/04/06/arrays-similar/
2015-04-17
讲师回答 / Bosn
get/set方法是针对属性的,这里面用作属性“age”的get/set方法。简单的说,当对属性age赋值时,会调用age的set方法,如:obj.age = 100; // 这里会触发age属性的set方法。反之,当读取属性age值时,会调用age的get方法,如:var val = obj.age; // 这里会触发age属性的get方法。而这里的$age,和__age__, age123一样,都是一个普通的对象属性,只是为了区分这不是希望被直接读写的属性加上$最为前缀。
2015-04-15
讲师回答 / Bosn
自己动手试一试,通常情况下,使用var去声明的变量,不能被delete,例如:var abc = 100;delete abc; // 返回trueabc; // 还是100但是在eval代码里,就会不同,:eval("var abc = 100;console.log(delete abc); console.log(abc);"); // 返回true, undefined
2015-04-15