在 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>

更新於:16-6-2020

816 次瀏覽

開啟您的職業

完成課程獲得認證

開始
廣告
© . All rights reserved.