不应该是每次返回的闭包都是n=0吗,++也应该在n=0基础上,输出应该是111啊

当有n++时候,返回值是123

function fun(n, b) {

console.log(b) //und123

return {

fn1: function (m) {

n++;

return fun(m, n);

}

};

}

var a = fun(0)

a.fn1(1);

a.fn1(2);

a.fn1(3);

function fun(n, b) {

console.log(b) //und000

return {

fn1: function (m) {

//n++;

return fun(m, n);

}

};

}

var a = fun(0)

a.fn1(1);

a.fn1(2);

a.fn1(3);

回答

a.fn1方法每次调用时都会修改a.fn1的作用域对象属性n的值。Chrome debugger看看:
不应该是每次返回的闭包都是n=0吗,++也应该在n=0基础上,输出应该是111啊

不应该是每次返回的闭包都是n=0吗,++也应该在n=0基础上,输出应该是111啊

不应该是每次返回的闭包都是n=0吗,++也应该在n=0基础上,输出应该是111啊

不应该是每次返回的闭包都是n=0吗,++也应该在n=0基础上,输出应该是111啊

以上是 不应该是每次返回的闭包都是n=0吗,++也应该在n=0基础上,输出应该是111啊 的全部内容, 来源链接: utcz.com/a/65151.html

回到顶部