JavaScript 中的 getter 和 setter 有什么区别?


Getter

当访问某个属性时,将会通过隐式调用某个函数获得其值。JavaScript 中使用“get”关键字。Set 允许使用标识符,即数字或字符串。

Setter

当设置某个属性时,将会隐式调用某个函数,并且作为参数传递一个值。利用 ello,返回值将被设置为属性本身。JavaScript 中使用“get”关键字。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>

更新日期:2020 年 6 月 16 日

816 次浏览

开启您的 职业

完成课程以获得认证

开始
广告