javascript 闭包疑问
更新时间:2010年12月30日 19:37:30 作者:
今天在编码时,遇到一个问题,特记录下。希望对朋友有所帮助。
复制代码 代码如下:
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;
相关文章
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
这篇文章主要介绍了Iphone手机、安卓手机浏览器控制默认缩放大小的方法,通过meta标签中添加属性代码展示控制浏览器的默认缩放,具体操作步骤大家可查看下文的详细讲解,感兴趣的小伙伴们可以参考一下。2017-08-08利用CSS、JavaScript及Ajax实现高效的图片预加载
图片预加载想必大家都不陌生吧,实现预加载图片有很多方法,包括使用CSS、JavaScript及两者的各种组合。这些技术可根据不同设计场景设计出相应的解决方案,十分高效2013-10-10使用JavaScript判断用户输入的是否为正整数(两种方法)
在项目开发中,需要使用JavaScript验证用户输入的是否为正整数,下面小编给大家分享两种方法,需要的朋友参考下2017-02-02基于Bootstrap table组件实现多层表头的实例代码
Bootstrap table还有一个很多强大的功能,下面就通过本文给大家分享基于Bootstrap table组件实现多层表头的实例代码,需要的朋友参考下吧2017-09-09
最新评论