菜单

澳门金沙国际js中getter和setter用法实例深入分析

2019年5月24日 - 金沙前端

本文实例讲述了js中getter和setter用法。分享给大家供大家参谋,具体如下:

在念书Vue总结属性时,有一句“总计属性暗中认可只有 getter
,不过在必要时你也可以提供3个 setter”。

getter和setter到底是何等?于是自个儿查找了材料:

在Es第55中学能够动用getter和setter部分改写暗中同意操作,不过只可以选用在单个属性上,无法使用在整个对象上。getter是一个隐藏函数,会在收获属性值时调用。setter也是一个隐藏属性,会在安装属性值时调用。

例子:

var myObject = {
  get a(){
    return 2
  }
  };
  Object.defineProperty(
  myObject,       //目标对象
  "b",          //属性名
  {  //描述符
    //给b设置一个getter
    get:function(){
    return this.a*2
     },
    //确保b会出现在对象的属性列表中
    enumerable:true
  }
);
console.log(myObject.a) //2
console.log(myObject.b) //4

这里行使在线HTML/CSS/JavaScript代码运维工具:,测试结果如下:

澳门金沙国际 1

无论是目的文字语法中的get a( ) { ...... },还是defineProperty(......)中的显式定义,二者都会在目的中开创1个不包涵值的品质,对于这些性情的访问会活动调用多少个隐藏函数,它的回到值会被当做属性访问的重回值。(也正是说myObject.a并非加实行括号,vue中计算属性默许有getter,调用总括属性不用在后头加”( )“)

var obj = {
  //给a定义一个getter
  get a(){
  return 2;
  }
};
obj.a = 3;
console.log(obj.a); //2

使用在线HTML/CSS/JavaScript代码运营工具:,测试结果如下:

澳门金沙国际 2

澳门金沙国际,鉴于对a只定义了getter,所以对a的set操作会忽略赋值操作,不会抛错。而且不怕有官方的setter,由于大家自定义的getter只会再次回到二,所以set操作是未曾意思的。

更加多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript常用函数技术汇总》、《JavaScript错误与调度手艺总计》、《JavaScript数据结构与算法手艺总括》、《JavaScript遍历算法与技艺总括》及《JavaScript数学生运动算用法总计》

指望本文所述对我们JavaScript程序设计有着辅助。

你可能感兴趣的稿子:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图