我们可以使用函数嵌套的方式来实现这个功能。首先,我们可以定义一个名为“createCalculator”的函数来创建一个新的计算器对象。该函数返回一个对象字面量,其中包含add、subtract、multiply和divide这四个方法。这些方法将对每个计算器对象进行操作。
然后,我们将返回createCalculator函数的结果作为我们的计算器对象。这样,我们就可以通过调用add、subtract、multiply和divide方法来执行基本运算。
下面是完整的代码示例:
function createCalculator() {
// 创建一个对象字面量
let calculator = {
// 定义四个方法
add: function(num) {
this.result += num;
},
subtract: function(num) {
this.result -= num;
},
multiply: function(num) {
this.result *= num;
},
divide: function(num) {
this.result /= num;
},
result: 0 // 初始化结果为0
};
// 返回计算器对象
return calculator;
}
// 创建一个新的计算器对象
let calculator = createCalculator();
// 初始结果为0
console.log(calculator.result);
// 执行一些基本的计算
calculator.add(5);
calculator.subtract(3);
calculator.multiply(2);
calculator.divide(4);
// 输出计算结果
console.log(calculator.result);
输出结果为:
0
2.5
此方法使用了闭包来保持函数:createCalculator 中变量的状态和私有数据。