手机
当前位置:查字典教程网 >编程开发 >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的函数第1/3页

javascript中动态函数用法

JavaScript版代码高亮

使用JavaScript刷新网页的方法

Javascript 不能释放内存.

JavaScript的RequireJS库入门指南

javascript去除空格方法小结

javascript先序遍历DOM树的方法

精品推荐
分类导航