Egret社区
1银子
代码中get set方法真的影响性能吗?  这个是为什么呢?  弄得我现在都不敢怎么用, 但是不用的话感觉很不方便,求高手指点下

最佳答案

查看完整内容

个人理解: 1. 原装的JS是没有get set的. get 和 set在编译之后其实是变成了两个函数,getA, setA(v), 和直接设置参数a来说,变成函数执行步骤肯定会变多。 2. get 和 set是面向对象程序设计里一个很赞的创新(早期的面向对象语言里是没有get set的),可以把一些逻辑更好的封装起来。对外部的使用者来说,只需要关注改变/获取了某个对象的属性值,而不需要去考虑,获取/改变这个属性值需要做的各种逻辑判断。 3. 如果只是单纯 ...
分享到 :
0 人收藏

4 个回复

倒序浏览
madoking  登堂入室 | 2017-4-1 10:25:04
个人理解:
1. 原装的JS是没有get set的. get 和 set在编译之后其实是变成了两个函数,getA, setA(v), 和直接设置参数a来说,变成函数执行步骤肯定会变多。

2. get 和 set是面向对象程序设计里一个很赞的创新(早期的面向对象语言里是没有get set的),可以把一些逻辑更好的封装起来。对外部的使用者来说,只需要关注改变/获取了某个对象的属性值,而不需要去考虑,获取/改变这个属性值需要做的各种逻辑判断。

3. 如果只是单纯的对一个属性做赋值/取值操作,就把不要使用 get set,如果在赋值/取值过程中需要做逻辑判断(比如限制最大值、最小值;判断所赋值是否合法),就要用get set。

4.如果要让一个属性变成只可读/只可写, 也要用get set。

5.如果一个属性值变化之后,必然要调用某些函数,那么用 set方法可以减少代码量,优化逻辑,减少需要对外开放的函数接口。get同理。
78386103  初学乍练 | 2017-4-1 11:12:05
觉得可以忽略,egret中也大量使用了
Jacy  斑竹 | 2017-4-1 15:32:08
影响啊,但是安全啊。
wyb815  圆转纯熟 | 2017-4-1 15:45:05
其实可以忽略性能问题。get set最大的好处在于封装,你可以改变行为而不改变对外接口。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部