2012-11-09 76 views
3

閱讀underscore.js文檔,我發現(我驚奇)後,實際上並不是所有的瀏覽器都支持什麼瀏覽器不支持原生的forEach,過濾器,每一個等

方法。以前我認爲這些方法在任何地方都可以實現。檢查什麼瀏覽器不支持他們,沒有給我任何信息:my chrome, IE9, firefox 13都支持他們。

那麼我在哪裏可以找到哪些瀏覽器支持它們,並且可能是其他方法在哪裏都不被支持?

P.S我很抱歉,我想我把我的問題弄糊塗了。我知道所有的瀏覽器都支持下劃線的習慣。在這個問題中,我指的是本地方法。

+0

可能重複的[Javascript ES5的當前狀態是什麼?](http://stackoverflow.com/questions/4042020/whats-the-current-status-of-javascript-es5) – Bergi

+0

當然,問題是不一樣的(因爲你只需要ES5的一部分),但我想把它鏈接到其他人 – Bergi

回答

0

所有的瀏覽器都支持下劃線的方法forEachfiltereverysome(以及任何其他方法)。只是它們中的一部分效率不高,因爲它們沒有本地對應部分。

作爲示例,請檢查forEach:下劃線首先檢查Array原型本機是否支持forEachnativeForEach = ArrayProto.forEach。如果是這樣,它使用原生原型方法。如果不是,它使用它自己的實現與for環(在收集功能,請參閱var each = _.each = _.forEach = function(obj, iterator, context) ...

0

他們AVE已經有一段時間。JavaScriptKit是一個很好的資源。

用JavaScript 1.6+支持所有現代瀏覽器中實現這些方法。