lodash
lodash
1. 简介
Lodash是⼀个著名的javascript原⽣库,不需要引⼊其他第三⽅依赖。
是⼀个意在提⾼开发者效率,提⾼JS原⽣⽅法性能的JS库。
简单的说就是,很多⽅法lodash已经帮你写好了,直接调⽤就⾏,不⽤⾃⼰费尽⼼思去写了,⽽且可以统⼀⽅法的⼀致性。
Lodash使⽤了⼀个简单的 _ 符号,就像Jquery的 $ ⼀样,⼗分简洁。
类似的还有Underscore.js和Lazy.js
2. ⽀持
兼容性好(⼏乎涵盖现在市⾯上可以见到的⼤部分浏览器)
元旦趣事
不离不弃的英文chrome 43往上
Firefox 38往上
abandoningIE 6-11迷迷糊糊的意思
MS Edge
Safari 5往上
3. 安装
<script src="lodash.js"></script> 直接下载下来引⼊,或者使⽤cdn
npm i --save lodash
4. node 中使⽤
var _ = require('lodash')
// 循环5次
_.times(5,function(a){
console.log(a);
});
5. vue 中使⽤单⽂件中使⽤
import _ form 'lodash'
export default {
methods: {
英语培训机构排名
throttledMethod: _.throttle(() => {
console.log('I get fired every two conds!')
}, 2000)
}
6. 常⽤⽅法
6.1 深度拷贝
let obj = {
a: 1,
b: 2,
c: {
c1: 3,
c2: function () {
console.log('拷贝到我才算是深度拷贝')
}
}
}
var _ = require('lodash')
const obj0 = _.cloneDeep(obj)
6.2 深层查找属性
let ownerArr = [{
owner: 'Colin',
pets: [{name: 'dog'}, {name: 'cat'}]
}, {
bella什么意思owner: 'John',
pets: [{name: 'chick'}, {name: 'peer'}]
}]
6.3 防抖函数(debounce): 触发⾼频事件后 n 秒内函数只会执⾏⼀次,如果 n 秒内⾼频事件再次被触发,则重新计算时间(输⼊框使⽤)
<template>
<button @click="throttledMethod()">Click me as fast as you can!</button>
ba是什么意思
</template>
<script>
import _ from 'lodash'
export default {
methods: {
throttledMethod: _.debounce(() => {
console.log('I only get fired once every two conds, max!')
}, 2000)
}
}
</script>
6.4 节流函数(thorttle)⾼频事件触发,但在 n 秒内只会执⾏⼀次,所以节流会稀释函数的执⾏频率(滚动到底部使⽤)
gre<template>
<button @click="throttledMethod()">Click me as fast as you can!</button>
</template>
<script>
import _ from 'lodash'
export default {
cattlemethods: {
throttledMethod: _.throttle(() => {
console.log('I get fired every two conds!')
}, 2000)
}
}whereas
</script>