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变量怎么转换为字符串

js如何读取和保存文件?方法介绍

javascript混淆与解混淆的详细介绍(附代码)

javascript主要用来干啥

javascript居中怎么表示

javascript函数的写法有哪些

javascript如何使网页跳转

classname和a href 的实例详解

详解队列数据结构,js中怎样实现?

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




打赏

取消

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

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

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

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

评论

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