如下面的代码,截图说是超过限制,发不了,
为什么这两种方式得出的结果有差异呢,不是很懂,望前辈们指点下,万分感谢!
function fn1 () {
var n =7;
nAdd = function() {
n += 1;
console.log(n);
}
function fn2 () {
console.log(n);
}
return fn2;
}
fn1()();//7
nAdd();
fn1()();//7,此处为什么还是7,而不是8,而且每次执行fn1()();都是7
---------------------------------------------------------------------------------------------------------------------------------
function fn1 () {
var n =7;
nAdd = function() {
n += 1;
console.log(n);
}
function fn2 () {
console.log(n);
}
return fn2;
}
var result = fn1();
result();//7
nAdd();//8 -->执行了
result();//8,为什么这样的方式调用就可以得到+1的值8
为什么这两种方式得出的结果有差异呢,不是很懂,望前辈们指点下,万分感谢!
function fn1 () {
var n =7;
nAdd = function() {
n += 1;
console.log(n);
}
function fn2 () {
console.log(n);
}
return fn2;
}
fn1()();//7
nAdd();
fn1()();//7,此处为什么还是7,而不是8,而且每次执行fn1()();都是7
---------------------------------------------------------------------------------------------------------------------------------
function fn1 () {
var n =7;
nAdd = function() {
n += 1;
console.log(n);
}
function fn2 () {
console.log(n);
}
return fn2;
}
var result = fn1();
result();//7
nAdd();//8 -->执行了
result();//8,为什么这样的方式调用就可以得到+1的值8