方案1
function f1() {
var n = 999;
nAdd = function () {
console.log(123123);
n += 1;
};
function f2() {
console.log(n);
return n ;
}
return f2;
}
var result = f1();
console.log(result());
//result(); // 999
nAdd();
console.log(result());
方案2
var ctx = {
n: 0
};
var nAdd = (function () {
console.log(123123);
this.n += 1;
}).bind(ctx);
var nSub = (function () {
console.log(123123);
this.n -= 1;
}).bind(ctx);
nAdd()
nAdd()
nSub()
console.log(ctx);
方案3
function Calc() {
this.n = 0;
}
Calc.prototype.add = function () {
console.log(123123);
this.n += 1;
}
Calc.prototype.sub = function () {
console.log(123123);
this.n -= 1;
}
var c = new Calc();
c.add();
c.sub();
console.log(c) 其实三种方法都实现了功能 我们正式开发的过程中 一般不用第一种 因为方法及容易被其他函数里的方法覆盖 当然还有其他的方式 这里就不意义举例了
你打算打赏多少钱呢?
(微信扫一扫)