JS监听对象属性读写的5种方法

主要有以下办法

  1. __defineSetter__
  2. watch
  3. defineProperty
  4. get/set关键字
  5. Proxy

先说结论:

推荐大家使用Proxy

1.__defineSetter__早期时,还没有形成标准。浏览器提供的私有属性,可以使用这个实现后来的defineProperty。

2.watch只有火狐支持,没什么用。

3.defineProperty被广泛使用,好处有:成为了标准。不好处:兼容性,IE9以下不兼容。

4.get/set的好处,代码看起来更好看。不好处:get/set能做的defineProperty都能做,defineProperty能做的更多,兼容性更好。现在通常写在class里,然后构建工具转化为defineProperty。

5.Proxy是ES6的新增功能,是未来的趋势。而且Proxy的兼容性非常好,如果对象的属性是固定的话,是可以使用polyfill的,所以推荐Proxy

转载于:https://my.oschina.net/linsk1998/blog/2992747

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值