今天一个同事看到John Resig 的Pro JavaScript Techniques这本书上的37页上有一段关于闭包的javascript代码,怎么调试都运行不正确,于是和他一起研究了一下,代码是这样的:

 

 1javascript closure(闭包)的一个示例 // Create a new user object that accepts an object of properties  
 2 ); 

 

这段代码应该是有几处错误的,如红色字体所示,this的作用域是匿名函数的;另一处是properties[i],它的scope是匿名函数外面,所以,代码执行将会不正确。

经过一番调试,应该写成这样:

 

 1alert( user.getage()); 

 

 这样,代码就是按预想的执行了。


ps: blog搬家,欢迎访问新地址:www.jinweijie.com

相关文章: