通过Object.defineProperty实现的监听函数为什么只能执行一个监听?
关注者
6被浏览
1,764登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏
javascript就是这样的,后面定义的会覆盖前面定义的,比如你定义两个function func(),后面写的func生效,如果这两个func在不同的js中,依照js引用先后,后来的func生效。这里,defineProperty也一样,对于obj.uid的get/set改写,也是按照最后一次设置来,也就是callback先被设置为func_a中的匿名funcition,后被设置为fun_b中的匿名function,最终效果是只有func_b中的匿名function被设置了。