javascript闭包入门示例
JavaScript入门 示例 闭包
2023-06-13 09:15:25 时间
1.
functionsay667(){
varnum=666;
varsayAlert=function(){alert(num);}
num++;
returnsayAlert;
}
varsayAlert=say667();
sayAlert();
2.
functionsetUpSomeGlobals(){
varnum=666;
gAlertNumber=function(){alert(num);}
gIncreaseNumber=function(){num++;}
gSetNumber=function(x){num=x;}
}
setUpSomeGlobals();//为三个全局变量赋值
gAlertNumber();//666
gIncreaseNumber();
gAlertNumber();//667
gSetNumber(12);
gAlertNumber();//12
3.
functionbuildList(list){
varresult=[];
for(vari=0;i<list.length;i++){
variteml="item"+list[i];
result.push(function(){alert(item+""+list[i]);});
}
returnresult;
}
functiontestList(){
varfnlist=buildList([1,2,3]);
for(varj=0;j<fnlist.length;j++){
fnlist[j]();
}
}
4.
functionsayAlice(){
varsayAlert=function(){alert(alice);}
varalice="HelloAlice";
returnsayAlert;
}
varhelloAlice=sayAlice();
helloAlice();//HelloAlice
5.
functionnewClosure(someNum,someRef){
varnum=someNum;
varanArray=[1,2,3];
varref=someRef;
returnfunction(x){
num+=x;
anArray.push(num);
alert("num:"+num+"\nanArray"+anArray.toString()+"\nref.someVar"+ref.someVar);
}
}
closure1=newClosure(40,{someVar:"closure1"});
closure2=newClosure(1000,{someVar:"closure2"});
closure1(5);
closure2(-10);
相关文章
- 【尚硅谷】JavaScript基础&实战丨JS入门到精通_01-06
- JavaScript入门学习
- JavaScript学习总结(二十)——Javascript非构造函数的继承详解编程语言
- javascript播放器控制
- javascript入门·对象属性方法大总结
- Javascript更新JavaScript数组的uniq方法
- Javascript入门学习第一篇js基础
- Javascript入门学习第三篇js运算
- Javascript入门学习第四篇js对象和数组
- Javascript入门学习第八篇jsdom节点属性说明
- JavaScript基本入门语法集合
- javascript类型File的Input按钮功能研究
- JavaScript中级笔记第五章面向对象的基础
- JavaScript入门基础知识想学习js的朋友可以参考下
- JavaScript设计模式富有表现力的Javascript(一)
- javascript开发中使用onpropertychange,oninput事件解决onchange事件的不足
- javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
- JavaScriptcallapply使用JavaScript对象的方法绑定到DOM事件后this指向问题
- JavaScript自定义DateDiff函数(兼容所有浏览器)
- javascript面向对象入门基础详细介绍
- JavaScript改变HTML元素的样式改变CSS及元素属性
- javascript中不等于的代码是什么怎么写