javascript中getter和setter有什么用? - SegmentFault 思否
文章推薦指數: 80 %
getter和setter不就是赋值与获取值的意思吗? var obj = {}; obj.name="john" 这 ... 前面已经有人讲了拦截的作用,我这里补充一下,如有错误请指出。
注册登录问答专栏标签招聘活动发现✓使用“Bing”搜本站使用“Google”搜本站使用“百度”搜本站站内搜索注册登录首页问答javascript问答详情1javascript中getter和setter有什么用?Noiya248发布于2017-03-29getter和setter不就是赋值与获取值的意思吗?varobj={};obj.name="john"这种写法不是更简单吗?为什么还要用getter和setter呢?javascript关注9收藏5赞1回复阅读6.3k5个回答得票最新1michael_cai10.6k发布于2017-03-29
functionsetter(val){
if(checkValue(val)){
this.val=val
}
}
setter和getter都用处都是对赋值和取值操作做进一层封装,在赋值之前或者赋值之后做某些操作。
赞1回复0神的尾巴2.2k发布于2017-03-29貌似VueJS就是用getter和setter实现的双向绑定赞0回复0u3u5.5k发布于2017-03-29
可以拦截操作做一些别的事情
varobj={
count:0
}
Object.defineProperty(obj,'count',{
get(){
returnNumber(localStorage.getItem('__OBJ.COUNT__')||0)
},
set(value){
localStorage.setItem('__OBJ.COUNT__',value)
},
})
案例:更加方便快捷的获取或设置localStorage
赞0回复0leemove135发布于2017-03-29seter和geter可以拦截你的赋值和获取操作.实际上你用的那个等号就可以理解成一个语法糖.赞0回复0Cheng487发布于2017-03-30前面已经有人讲了拦截的作用,我这里补充一下,如有错误请指出。
当你想监控某个值是否变化,需要找到所有为这个值赋值的地方,然后在每次赋值后进行一些操作,但这样明显比较麻烦。
如果用getter/setter就不需要去找赋值的地方,只需要在setter内部操作即可。
赞0回复撰写回答你尚未登录,登录后可以和开发者交流问题的细节关注并接收问题和回答的更新提醒参与内容的编辑和改进,让解决方法与时俱进注册登录宣传栏62745
延伸文章資訊
- 1Getter/Setter高级用法,这也许是你会遇到的Google Chrome Bug
文章重点内容主要阐述JavaScript 中Getter/Setter 属性访问/操作符的”屏蔽“作用。 ... 首先我们先来看看一段非常普通的JS 代码:.
- 2js 中實現getter和setter函數方法,及運算符的特殊用法 - ZenDei
js 中實現getter和setter函數方法,及運算符的特殊用法 · getter簡單說來就是一種獲得屬性值的方法,setter簡單說來就是一種設置屬性值的方法 · getter負責查詢值,它...
- 3javascript中getter和setter有什么用? - SegmentFault 思否
getter和setter不就是赋值与获取值的意思吗? var obj = {}; obj.name="john" 这 ... 前面已经有人讲了拦截的作用,我这里补充一下,如有错误请指出。
- 4getter - JavaScript - MDN Web Docs - Mozilla
getter. get 语法将对象属性绑定到查询该属性时将被调用的函数。 ... 尽管可以结合使用getter 和setter 来创建一个伪属性,但是不可能同时将 ...
- 5JavaScript的getter与setter方法作用解析 - 掘金
当属性age被读取时调用getter函数;当age被写入时调用setter函数。