数据绑定

 

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

存储器属性:属性 b 使用 getter,setter 方法定义

  当未设置 setter(getter) 时,不可修改,忽略 writable 和 value,即只读。

  读写的前提:避免使用存储器属性!

   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 类中使用存储器属性

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"

双向数据绑定

  待更新

原文地址:https://www.cnblogs.com/yuqlblog/p/9238842.html