在不使用全局变量的情况下编写重复的运动函数,可以通过以下几种方式实现:
function createMovementFunction() {
var distance = 0; // 外部函数中的变量
return function() {
distance += 10; // 修改外部函数中的变量
console.log('移动距离:' + distance);
};
}
var move = createMovementFunction(); // 创建运动函数
move(); // 移动距离:10
move(); // 移动距离:20
function createMovementObject() {
var obj = {
distance: 0, // 对象的属性
move: function() {
this.distance += 10; // 修改对象的属性
console.log('移动距离:' + this.distance);
}
};
return obj;
}
var movement = createMovementObject(); // 创建运动对象
movement.move(); // 移动距离:10
movement.move(); // 移动距离:20
class Movement {
constructor() {
this.distance = 0; // 实例的属性
}
move() {
this.distance += 10; // 修改实例的属性
console.log('移动距离:' + this.distance);
}
}
var movement = new Movement(); // 创建运动实例
movement.move(); // 移动距离:10
movement.move(); // 移动距离:20
以上是三种常见的在不使用全局变量的情况下编写重复的运动函数的方法。根据具体的需求和场景,选择适合的方式来实现即可。
领取专属 10元无门槛券
手把手带您无忧上云