亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

全部開發者教程

JavaScript 入門教程

Lodash

是一個一致性、模塊化、高性能的 JavaScript 實用工具庫。

Lodash 實現了大量實用的工具方法。(官方文檔)

<script src="https://cdn.bootcdn.net/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>
<script>
  console.log(window._);

  var arr = [1, 2, 3, 4, 5];
  var arrChunk = _.chunk(arr, 2);

  console.log(arrChunk); // 輸出:[[1, 2], [3, 4], [5]]
</script>

1. 代替原生方法使用

Lodash 提供了許多原生同名方法,如數組 forEachmap、includes 等。

Lodash 對這些方法增加了容錯,如果是原生方法,碰到值為 null 或者 undefined 會報錯,在 Lodash 中會處理掉這份錯誤。

Lodash 在引入后,入口為全局下的 _。

<script src="https://cdn.bootcdn.net/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>
<script>
  var arr = null; // 不知道出于什么原因 本來應該是個數組 但是變成了null

  _.forEach(arr, function() {

  });

  arr.forEach(function() {

  }); // 異常:Cannot read property 'forEach' of null
</script>

同時 Lodash 對一些方法做了優化處理,如:假使在 forEach 的回調中返回了 false ,則不會再繼續遍歷,達到與 break 類似的效果。

<script src="https://cdn.bootcdn.net/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>
<script>
  var arr = [1, 2, 3, 4];

  var fn = function(item, index) {
    if (index === 2) {
      return false;
    }

    console.log(item);
  };

  console.log('lodash: ');
  _.forEach(arr, fn);

  console.log('native: ')
  arr.forEach(fn);
</script>

對項目有強健壯性和穩定性的項目,可以考慮使用 Lodash 這樣的庫替代原生方法進行使用,讓第三方做好兼容處理。

2. 小結

Lodash 是非常常用的工具庫,也提供了許多 ES6 提供的同名的方法,可以充當 polyfill 使用。