Object.defineProperty()中的set方法和get方法具体使用案例
时间: 2024-06-17 18:06:33 浏览: 10
在JavaScript中,Object.defineProperty()方法用于在对象上定义新属性或修改现有属性。其中,set方法和get方法是Object.defineProperty()方法中用于定义属性的一种方式。
set方法用于设置一个属性的值。当属性值被修改时,set方法会被调用。get方法则用于获取一个属性的值。当获取属性值时,get方法会被调用。
下面是一个简单的使用案例:
```
let person = {
firstName: 'John',
lastName: 'Doe'
};
Object.defineProperty(person, 'fullName', {
get: function() {
return this.firstName + ' ' + this.lastName;
},
set: function(name) {
let parts = name.split(' ');
this.firstName = parts;
this.lastName = parts;
}
});
console.log(person.fullName); // 输出 "John Doe"
person.fullName = 'Jane Smith';
console.log(person.firstName); // 输出 "Jane"
console.log(person.lastName); // 输出 "Smith"
```
在上面的例子中,我们通过Object.defineProperty()方法定义了一个fullName属性,并在该属性上设置了get和set方法。当我们获取fullName属性时,get方法会被调用,返回firstName和lastName属性组合而成的完整姓名。当我们设置fullName属性时,set方法会被调用,并根据传入的姓名字符串更新firstName和lastName属性。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)