js中getter和setter用法实例分析
网络编程 2021-07-04 16:46www.168986.cn编程入门
这篇文章主要介绍了js中getter和setter用法,结合实例形式分析了javascript中getter和setter的功能、使用方法及相关操作注意事项,需要的朋友可以参考下
本文实例讲述了js中getter和setter用法。分享给大家供大家参考,具体如下
在学习Vue计算属性时,有一句“计算属性默认只有 getter ,不过在需要时你也可以提供一个 setter”。
getter和setter到底是什么?于是我查找了资料
在Es5中可以使用getter和setter部分改写默认操作,只能应用在单个属性上,无法应用在整个对象上。getter是一个隐藏函数,会在获取属性值时调用。setter也是一个隐藏属性,会在设置属性值时调用。
例子
var myObject = { get a(){ return 2 } }; Object.defineProperty( myObject, //目标对象 "b", //属性名 { //描述符 //给b设置一个getter get:function(){ return this.a2 }, //确保b会出现在对象的属性列表中 enumerable:true } ); console.log(myObject.a) //2 console.log(myObject.b) //4
这里使用在线HTML/CSS/JavaScript代码运行工具,测试结果如下
不管是对象文字语法中的get a( ) { ...... }
,还是defineProperty(......)
中的显式定义,二者都会在对象中创建一个不包含值的属性,对于这个属性的访问会自动调用一个隐藏函数,它的返回值会被当作属性访问的返回值。(也就是说myObject.a
不用加执行括号,vue中计算属性默认有getter
,调用计算属性不用在后面加"( )
")
var obj = { //给a定义一个getter get a(){ return 2; } }; obj.a = 3; console.log(obj.a); //2
使用在线HTML/CSS/JavaScript代码运行工具,测试结果如下
由于对a只定义了getter,所以对a的set操作会忽略赋值操作,不会抛错。而且即便有合法的setter,由于我们自定义的getter只会返回2,所以set操作是没有意义的。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指