js 重写对象的方法
在JavaScript中,可以通过原型链或类的方式重写对象的方法。以下是两种方法的示例:
1. 通过原型链重写对象的方法:
js原型和原型链的理解```javascript
// 原始对象
let obj = {
  sayHello: function() {
    console.log('Hello, world!');
  }
};
// 重写sayHello方法
obj.sayHello = function() {
  console.log('你好,世界!');
};
// 调用重写后的方法
obj.sayHello(); // 输出:你好,世界!
```
在这个例子中,我们通过直接修改原始对象的`sayHello`方法来重写它。
2. 通过类重写对象的方法:
在ES6及以后的版本中,可以使用类来定义对象。我们可以定义一个类,并在其中重写方法。例如:
```javascript
class MyClass {
  constructor() {
    this.sayHello = function() {
      console.log('Hello, world!');
    };
  }
}
let obj = new MyClass();
// 重写sayHello方法
obj.sayHello = function() {
  console.log('你好,世界!');
};
// 调用重写后的方法
obj.sayHello(); // 输出:你好,世界!
```
在这个例子中,我们在构造函数中定义了`sayHello`方法,然后通过直接修改原始对象的`sayHello`方法来重写它。注意,对于ES6类来说,方法默认是“不可枚举”的,这意味着我们可以在不使用`Object.defineProperty()`的情况下直接修改它们。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。