在 JavaScript 中 Getter 和 Setter 有什么不同?
Getter
当访问某个属性时,会通过隐式调用一个函数来获取值。在 JavaScript 中使用关键字 get。一个标识符(数字或字符串)允许用于 set。
Setter
当设置某个属性时,会隐式调用一个函数并将该值作为参数传递。因此,返回值将被设置为属性本身。在 JavaScript 中使用关键字 set。一个标识符(数字或字符串)允许用于 set。
示例
下面是一个示例,展示了如何实现 getter 和 setter
<html> <body> <script> var department = { deptName: "Finance", deptZone: "South", deptID: 105, get details() { return "Department Details<br>" + "Name: " + this.deptName + " <br>Zone: " + this.deptZone + "<br>ID: " + this.deptID; }, set details(info) { var res = info.toString().split(' '); this.deptName = res[0] || ''; this.deptZone = res[1] || ''; this.deptID = res[2] || ''; } } department.details = 'Marketing North 001'; document.write(department.deptName); document.write(department.deptZone); document.write(department.deptID); </script> </body> </html>
广告