摘要:
//JavaScript闭包var array = [1, 2, 3];var funcs = new Array(3);for (var i in array) { var tmp = array[i]; funcs[i] = function () { return tmp; }} alert(funcs[0]());会输出3!原因是JavaScript中函数中的所有变量声明作用域都是在整个函数中的。因此这个tmp就是这个函数域中的全局变量,当for循环运行完毕后,tmp就是3了。funcs数组中的所有函数对象返回值都会是3。那么怎样解决JavaScript... 阅读全文
posted @ 2014-02-12 13:45
silentjesse
阅读(188)
评论(0)
推荐(0)
浙公网安备 33010602011771号