通过Object.defineProperty实现的监听函数为什么只能执行一个监听?

如下代码,通过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被设置了。