js中getter和setter用法的示例分析
本文说明了getter和setter在js中的用法。分享给大家参考,如下:
学习Vue计算属性时,有句话说“计算属性默认只有getter,但必要时也可以提供setter”。
什么是吸气剂和设置剂?于是我查阅了资料:
在Es5中,您可以使用getter和setter来覆盖默认操作,但是它只能应用于单个属性,而不能应用于整个对象。Getter是一个隐藏函数,在获取属性值时调用。Setter也是一个隐藏属性,在设置属性值时调用。
示例:
var myObject={ get a(){ return 2 } };Object.defineproperty (myobject,//目标对象' b ',//属性名{//描述符//set a getter get : function(){ return this。a * 2},//确保b将出现在对象的属性列表中,enumerable : true });console . log(my object . a)//2 console . log(my object . b)//4使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun,测试结果如下:
要么得到一个(){ 0.}在对象的文字语法中或在defineProperty(.),它们将创建一个在对象中不包含值的属性。对此属性的访问会自动调用隐藏函数,其返回值将被视为属性访问的返回值。(也就是说myObject.a不需要添加执行括号,vue中的计算属性默认有getter,调用计算属性后不需要添加' ()'
Var obj={//定义一个getter get a(){ return 2;}};obj . a=3;console . log(obj . a);//2使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun,测试结果如下:
因为只为A定义了getter,所以A的set操作将忽略赋值操作,并且不会引发错误。而且即使有合法的setter,因为我们的自定义getter只会返回2,set操作也没有意义。
更多对JavaScript相关内容感兴趣的读者可以查看本网站专题:《javascript面向对象入门教程》、《JavaScript常用函数技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、0103010
希望本文对JavaScript编程有所帮助。
版权声明:js中getter和setter用法的示例分析是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。