手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >javascript 闭包疑问
javascript 闭包疑问
摘要:复制代码代码如下:vartest=(function(){vararr2=[1,2,3,3];returnfunction(){return...

复制代码 代码如下:

var test=(function() { var arr2=[1,2,3,3]; return function(){ return arr2; }; })()

Array.prototype.f1= function () { return []; }

Array.prototype.f2= function () { this.length=0; return this; }

然后用两种方式调用:

一:var arr= test();

console.log(arr.length);结果是4

arr.f1();

arr= test();

console.log(arr.length);结果是4

这个好理解;

二:var arr= test();

console.log(arr.length);结果是4

arr.f2();

arr= test();

console.log(arr.length);结果是0

不知道为什么会这样,难道arr.f2()可以修改test函数中闭包中的arr2;

【javascript 闭包疑问】相关文章:

javascript每日必学之运算符

javascript实现删除前弹出确认框

javascript常用方法总结

JavaScript中的私有成员

javascript制作的滑动图片菜单

JavaScript中的this机制

javascript中attachEvent用法

Javascript进制转换实例

Javascript的IE和Firefox兼容性汇编

JavaScript调试技巧

精品推荐
分类导航