做有态度的前端团队

网易FEG前端团队

JS学习笔记——实用的 JS 小技巧2

5. 找到数组中的最大最小值
内部函数Math.max() 和 Math.min() 可以从参数中找到最大值和最小值:

Math.max(1, 2, 3, 4); // 4
Math.min(1, 2, 3, 4); // 1

如果要在数组中找最大最小值可以这样用:

var numbers = [1, 2, 3, 4];
Math.max.apply(null, numbers) // 4
Math.min.apply(null, numbers) // 1

透过 ES6 的展开运算符来完成:

var numbers = [1, 2, 3, 4];
Math.max(...numbers) // 4
Math.min(...numbers) // 1

6. 用逻辑运算代替条件判断

if(foo == 10){
    doSomething();
}
// 可以写成下面这样
foo == 10 && doSomething();

有时候在函数内,要判断使用者有没有输入参数,没有的话就设为默认值:

if(!foo){  
// 如果 foo = undefined 或 null
    foo = 10;
}
// 可以写成下面这样
foo = foo || 10;

7. 判断是否很多数值中的一个

if(foo==1 || foo==22 || foo==43 || foo==51 || foo==63 || foo==83){
    doSomething();
}
//这样写很冗长,可以改成这样:
if([1, 22, 43, 51, 63, 83].indexOf(foo) != -1){
    doSomething();
}

8. 清空数组
通常会这样清空数组:

var list = [1, 2, 3, 4];
list = [];

但有性能更好的清空数组方式:

var list = [1, 2, 3, 4];
list.length = 0;
// list = []

如果只想删掉最后两个元素:

var list = [1, 2, 3, 4];
list.length = list.length - 2;
// list = [1, 2]

手机阅读请扫描下方二维码:

添加新评论

ali-40.gifali-41.gifali-42.gifali-43.gifali-44.gifali-45.gifali-46.gifali-47.gifali-48.gifali-49.gifali-50.gifali-51.gifali-52.gifali-53.gifali-54.gifali-55.gifali-56.gifali-57.gifali-58.gifali-59.gifali-60.gifali-61.gif