我正在使用 underscore.js 中的 _.bind,但是它在 IE8/9 中不工作。
我知道 MDN 有解决方法(MDN Polyfill - 但不确定这是否可以应用于下划线库,或者下划线本身是否有修复
我想要实现的一个例子是:
window.onload = _.bind(function() {
this.product.quantityListing();
}, this);
编辑:我在其他地方使用 _.bind 的一个实例,它在 IE8 中工作——但是当我想检查窗口是否已在 IE 中加载时,它只是不工作。
最佳答案
_.bind
和来自 MDN 的 Function#bind
shim 本质上做同样的事情。如果使用MDN方法,则不需要使用Underscore.js方法。
您将像这样使用 MDN 方法:
window.onload = (function() {
this.product.quantityListing();
}).bind(this);
另一方面,如果您在页面中包含 Underscore 之前使用 MDN shim,Underscore 将在必要时使用填充版本。
因此,如果您在 Underscore 之前包含垫片,则可以使用任何您喜欢的。就我个人而言,我会坚持使用 Function#bind
,因为它在 native 支持它的浏览器中具有(非常轻微)更好的性能。
关于javascript - 下划线绑定(bind)在 IE8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24119418/