首頁 > web前端 > js教程 > 主體

每天一篇javascript學習小結(屬性定義方法)_javascript技巧

WBOY
發布: 2016-05-16 15:31:15
原創
1388 人瀏覽過

定義(Definition).定義屬性需要使用對應的函數,例如:
Object.defineProperty(obj, "prop", propDesc)
如果obj沒有prop這個自身屬性,則函數的作用是給obj加上一個自身屬性prop並賦值,
參數propDesc指定了該屬性擁有的特性(可寫性,可枚舉性等).
如果obj已經有了prop這個自身屬性,則該函數的作用是修改這個已有屬性的特性,當然也包括它的屬性值.
1、defineProperty      

 var book = {
   _year: 2004,
   edition: 1
  };
   
  Object.defineProperty(book, "year", {
   get: function(){
    return this._year;
   },
   set: function(newValue){
   
    if (newValue > 2004) {
     this._year = newValue;
     this.edition += newValue - 2004;
    
    }
   }
  });
  
  book.year = 2005;
  alert(book.edition); //2
登入後複製

2、__defineSetter__ 與 __defineGetter__

 var book = {
   _year: 2004,
   edition: 1
  };
   
  //legacy accessor support
  book.__defineGetter__("year", function(){
   return this._year; 
  });
  
  book.__defineSetter__("year", function(newValue){
   if (newValue > 2004) {
    this._year = newValue;
    this.edition += newValue - 2004;
   } 
  });

  
  book.year = 2005;
  alert(book.edition); //2
登入後複製

以上就是今天的javascript學習小結,之後每天還會繼續更新,希望大家繼續關注。

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板