【在线等】=========求 javascript 闭包的好处========= 除了用闭包少几行代码外还有什么好处啊?最好举个实例 来对比下。有没有非用闭包的例子啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一个经典的例子function addGenerator(num) function addGenerator(num){ return funciton(toAdd) { return num + toAdd};} 1.减少命名混杂问题2.事件代理改变this3.可以开辟一个独立的作用域存储变量如 var m = function(){ var num=1; return function(){ return num++ } }() m()//没掉一次num都加一 这是fp里的一个curry化技术。也就是使代码简洁等。 http://www.wxwdesign.cn/article/skills/closure_memory_ie.htm 这是一个简单的例子:构造对象中加入元素的事件。如果事件中要访问对象,不能只用使用this,而需要一个闭包处理function Node() { this.title = "Zswang 路过"; var self = this; var btn = document.createElement("button"); document.body.appendChild(btn); btn.value = "测试"; btn.title = "一个测试的按钮"; btn.onclick = function() { alert(this.title); // 则是访问按钮自己的title属性 alert(self.title); }}new Node();另外,爱用不用,为何还要给你理由?关我啥事。 谢谢。我感觉这个好像是讲 this 的引用 我是个新手,不过我觉得闭包的优势在于自己实际应用中该怎么用,在其他不支持闭包的语言中:a = 1;function test(any){ return any+1;}print(test(a));而闭包中a = 1;function test(){ return a+1;}alert(test()); JAVA SCRIPT 基础 求翻译 c#调用前台函数问题! *************问个javascript问题************* 如何固定IE窗口? 想求一段自动适应页面宽度的代码... 关于window.showModelDialog()方法打开的窗口 js中使用replace函数 视频播放的实现 菜鸟求教 谁有用jscript得到当前路径的代码?麻烦给一个全的。 javascript如何模拟键盘按下 如何获取JQUERY AJAX返回的JSON结果集
一个经典的例子function addGenerator(num)
return funciton(toAdd) {
return num + toAdd
};
}
2.事件代理改变this
3.可以开辟一个独立的作用域存储变量
如 var m = function(){
var num=1;
return function(){
return num++
}
}()
m()//没掉一次num都加一
function Node() {
this.title = "Zswang 路过";
var self = this;
var btn = document.createElement("button");
document.body.appendChild(btn);
btn.value = "测试";
btn.title = "一个测试的按钮";
btn.onclick = function() {
alert(this.title); // 则是访问按钮自己的title属性
alert(self.title);
}
}new Node();另外,爱用不用,为何还要给你理由?关我啥事。
谢谢。我感觉这个好像是讲 this 的引用
在其他不支持闭包的语言中:
a = 1;
function test(any){
return any+1;
}
print(test(a));而闭包中
a = 1;
function test(){
return a+1;
}
alert(test());