function test() { var n=1; var add = function () { n++; console.log(n); }; return{n:n,add:add};}var t1=test();var t2=test();t1.add();//输出2t1.add();//输出3var b = t1.n;这里的b为什么还是1?
1 回答
侃侃尔雅
TA贡献1801条经验 获得超16个赞
应该这样写:
function test() { var n=1; var add = function () { n++; console.log(n); }; return { getN(){return n;},add:add } }
你之前的写法应该是类似这样的:
function test() { var n=1; var add = function () { n++; console.log(n); }; var m = n; return { n:m, //这里只是n的值 add:add }; }
添加回答
举报
0/150
提交
取消