數據綁定

 

 

var obj = {
    get b() {
      return 2;
    }
  };

 

存儲器屬性:屬性 b 使用 getter,setter 方法定義es6

  當未設置 setter(getter) 時,不可修改,忽略 writable 和 value,即只讀。this

  讀寫的前提:避免使用存儲器屬性!spa

 

   var  obj = {
    get b () {
      return this._b_;
    },
    set b (val) {
      this._b_ = val;  
    }
  };
 obj.b = 3;
 console.log(obj.b);     // 3
 var orobj = Object.create(obj);  // 繼承
 console.log(orobj.b);  // 3

 

  es6 類中使用存儲器屬性code

class Person {
    constructor (name, age) {
        this.name = name;
        this.age = age;
    }
    set name (name) {
        console.log("setter");
        this._name = name;      //避免出現無限遞歸,致使棧溢出,變量請用 _
    }
    get name () {
        console.log("getter");
        return this._name;
    }
    // 加一個成員方法
    sayName () {
        console.log(this.name);
    }
}
var p = new Person("zhang", 25); 
console.log(p._name); // "zhang"

 

雙向數據綁定blog

  待更新繼承

相關文章
相關標籤/搜索