8个编写优秀JS代码的技巧和窍门(分享)


本文摘自PHP中文网,作者青灯夜游,侵删。

下面js教程栏目给大家介绍8个编写javascript代码的技巧和窍门。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

推荐教程:《JavaScript视频教程》

1. 生成指定区间内的数字

有时候需要创建在某个数字范围内的数组。比如在选择生日时。以下是最简单的实现方法。

1

2

3

4

5

6

7

let start = 1900,

    end = 2000;

[...new Array(end + 1).keys()].slice(start);

// [ 1900, 1901, ..., 2000]

 

// 也可以这样,但是大范围结果不稳定

Array.from({ length: end - start + 1 }, (_, i) => start + i);

2. 把值数组中的值作为函数的参数

有时候我们需要先把值放到数组中,然后再作为函数的参数进行传递。使用 ES6 语法可以只凭借扩展运算符(...)就可以把值从数组中提取出来: [arg1,arg2] => (arg1,arg2)

1

2

3

4

5

6

7

const parts = {

  first: [0, 2],

  second: [1, 3],

};

 

["Hello", "World", "JS", "Tricks"].slice(...parts.second);

// ["World", "JS", "Tricks"]

这个技巧在任何函数中都适用,请继续看第 3 条。

3. 把值数组中的值作为 Math 方法的参数

当需要在数组中找到数字的最大或最小值时,可以像下面这样做:

1

2

3

4

5

6

7

8

9

10

// 查到元素中的 y 位置最大的那一个值

const elementsHeight =  [...document.body.children].map(

  el => el.getBoundingClientRect().y

);

Math.max(...elementsHeight);

// 输出最大的那个值

 

const numbers = [100, 100, -1000, 2000, -3000, 40000];

Math.min(...numbers);

// -3000

4. 展平嵌套数组

Array 有一个名为 Array.flat 的方法,它需要一个表示深度的参数来展平嵌套数组(默认值为 1)。但是如果你不知道深度怎么办,这时候只需要将 Infinity 作为参数即可。另外还有一个很好用的 flatMap 方法。

1

2

3

const arrays = [[10], 50, [100, [2000, 3000, [40000]]]];

arrays.flat(Infinity);

// [ 10, 50, 100, 2000, 3000, 40000 ]

5. 防止代码崩溃

如果在代码中存在不可预测的行为,后果是难以预料的,所以需要对其进行处理。

例如当你想要获取的属性为 undefinednull 时,会得到 TypeError 错误。

阅读剩余部分

相关阅读 >>

js怎样直接操作二进制数据

javascript中bind是什么意思

web程序员必备 console 对象里的九个方法

js中遍历对象属性的方法介绍

js中4种数组遍历方法( for 、foreach() 、for/in、for/of)的区别

深入理解javascript的并发模型和事件循环机制

360如何打开javascript

json.stringify()是干嘛的

javascript dom的详细介绍

canvas实现动态粒子连线效果(附代码)

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...