在賦值原型prototype的時候使用function立即執行的表達式來賦值,通過return暴露出想要給外部調用的方法,以達到public/private效果。
function Calculator(){
this.num = 102;
}
Calculator.prototype = function () {
add = function (x, y) {
console.log(subtract(2,1))
return x + y + this.num;
},
subtract = function (x, y) {
return x - y;
}
return {
add: add,
sub: subtract
}
} ();
var calculator = new Calculator();
console.log(calculator.add(1,2))
console.log(calculator.sub(1,2))