js闭包待解决问题,希望有人指点
Posted whrgm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js闭包待解决问题,希望有人指点相关的知识,希望对你有一定的参考价值。
1.函数里面嵌套函数和对象里面的方法函数相比较的区别?
2.关于return的使用
2.关于return的使用
function f1(){
var n=999;
nAdd=function(){n+=1}
function f2(){
alert(n);
}
return f2;
}
var result=f1();
result(); // 999
nAdd();
result(); // 1000
总结:nAdd=function(){n+=1}没有return返回值却成功返回n+=1;的表达式
3.闭包用法是函数里面套函数来获取局部变量,还是函数里面return返回局部变量重赋值给新变量。
var n=999;
nAdd=function(){n+=1}
function f2(){
alert(n);
}
return f2;
}
var result=f1();
result(); // 999
nAdd();
result(); // 1000
总结:nAdd=function(){n+=1}没有return返回值却成功返回n+=1;的表达式
3.闭包用法是函数里面套函数来获取局部变量,还是函数里面return返回局部变量重赋值给新变量。
①:没有在函数里面使用函数而是直接将函数里面的局部变量return返回。
var age = function data () {
var brith = 999;
return brith;
}
var son = age ();
alert(son);
var brith = 999;
return brith;
}
var son = age ();
alert(son);
②:传统教程上的获取局部变量编发,在函数里面再套上一个函数。
var sum =(function add () {
var plus = 0;
return function a () {return plus += 1};
})();
function myFunction () {
document.getElementById("demo").innerhtml = sum ();
console.log(sum);
}
var plus = 0;
return function a () {return plus += 1};
})();
function myFunction () {
document.getElementById("demo").innerhtml = sum ();
console.log(sum);
}
以上是关于js闭包待解决问题,希望有人指点的主要内容,如果未能解决你的问题,请参考以下文章