function funcTest()
{
var tmpNum=100; //私有变量
//在函数funcTest内定义另外的函数作为funcTest的方法函数
function innerFuncTest(
{
alert(tmpNum); //引用外层函数funcTest的临时变量tmpNum
}
return innerFuncTest; //返回内部函数
}
//调用函数
var myFuncTest=funcTest();
myFuncTest();//弹出100
<a href="#" id="closureTest0">利用闭包的例子(1秒后会看到提示)</a><br /> <a href="#" id="closureTest1">由于闭包导致问题的例子1</a><br /> <a href="#" id="closureTest2">由于闭包导致问题的例子2</a><br /> <a href="#" id="closureTest3">由于闭包导致问题的例子3</a><br />
function badClosureExample(){
for (var i = 1; i <4; i++) {
var element = document.getElementById('closureTest' + i);
element .onclick = function(){
alert('您单击的是第' + i + '个链接');
}
}
}
window.onload = function(){
badClosureExample();
}
function popNum(oNum){
return function(){
alert('您单击的是第'+oNum+'个链接');
}
}
function badClosureExample(){
for (var i = 1; i <4; i++) {
var element = document.getElementById('closureTest' + i);
element .onclick =new popNum(i);
}
}
function goodClosureExample(oMsg){
return function(){
alert(oMsg);
};
}
window.onload = function(){
var element = document.getElementById('closureTest0');
if (element) {
var good = goodClosureExample('这个参数是由闭包绑定的');
element.onclick = function(){
setTimeout(good, 1000); //延迟1秒弹出提示
}
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有