采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师, 参考文章:https://segmentfault.com/a/1190000015783546
似乎···Object.defineProperty并不是不能监听数组,性能取舍
ps:另外···老师你的push发音····emmmmmm
你说的应该是这种遍历监听的方式吧?不知道谁想出来的这种方式,只能较真的说“能监听数组”,但是不能用。
这数组每变化一次,就得重新遍历监听一次,时间复杂度太高。
var arr = [1,2,3,4] arr.forEach((item,index)=>{ Object.defineProperty(arr,index,{ set:function(val){ console.log('set') item = val }, get:function(val){ console.log('get') return item } }) }) arr[1]; // get 2 arr[1] = 1; // set 1
非常感谢!
登录后可查看更多问答,登录/注册
面向1-3年前端的框架及项目面试“刚需内容”
4.2k 1
2.7k 11
1.3k 11
1.4k 11