关于underscore将Array.prototype中的相关方法添加到Underscore对象中的小疑问

图片描述

不理解 :if ((name == 'shift' || name == 'splice') && length === 0) delete wrapped[0];这段代码的作用,为什么要这样,有什么作用呢?求大神告知,谢谢

阅读 2.7k
1 个回答

这个就是为了fix一个ie<9和ie兼容模式下的bug,当类数组的Underscore对象使用一个_(...)这样的链式结构的时候,不能通过splice() 和 shift()方法移除0索引的值,简单地fix方案就是加上这句if (length === length >>> 0 && !length) delete wrapped[0];

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题