存储器属性

参考

1.javascript权威指南
2.javascript高级程序设计
3.MDN

概念

对象属性分为两种:一种就是平常用的 数据属性
例如

var obj = {
  title:"凯旋哥哥好帅啊"
}

还有一种就比较怪异且强大了,那就是存取器属性(权威指南的叫法)

var obj={
  get title(){
    return "我是一个标题"
  },
  set title(n){
    console.log(n+"好帅啊");
  }
}
obj.title="凯旋哥哥";
console.log(obj.title);
//凯旋哥哥好帅啊
//我是一个标题

我们用get和set来定义title,当我们读取title时(obj.title)就会执行get的函数体,return就是title的值。对title进行设置时(obj.title="凯旋哥哥") 就会执行set的函数体,而且赋值号右边的值会当做参数传入set函数体,可以忽略set函数体的返回值。
存储器属性也可以被继承

  var obj={
        get title(){
              return "我是一个标题"
        },
        set title(n){
              console.log(n+"好帅啊");
        }
   }
  var son={};
  son.__proto__=obj;
  son.title="凯旋哥哥";
  console.log(son.title);
//凯旋哥哥好帅啊
//我是一个标题

你可能感兴趣的:(存储器属性)