今天一个同事看到John Resig 的Pro JavaScript Techniques这本书上的37页上有一段关于闭包的javascript代码,怎么调试都运行不正确,于是和他一起研究了一下,代码是这样的:
1
// Create a new user object that accepts an object of properties
2
);
2
这段代码应该是有几处错误的,如红色字体所示,this的作用域是匿名函数的;另一处是properties[i],它的scope是匿名函数外面,所以,代码执行将会不正确。
经过一番调试,应该写成这样:
1
alert( user.getage());
这样,代码就是按预想的执行了。
ps: blog搬家,欢迎访问新地址:www.jinweijie.com