JavaScript 奇怪又实用的姿势又增加了六个
该文章引用于零一
一、解构小技巧
平常我们需要用到一个嵌套多层的对象中某些属性,会将其解构出来使用
1 |
|
这种情况下,你把 name 和 age 从 part1 里解构出来了以后,你就无法使用变量 obj 中的 part1 属性了,如:
1 |
|
其实你可以多次解构,如:
1 |
|
二、数字分隔符
有时你会在文件中定义一个数字常量
1 |
|
这么多个 0 ,1、2 … 6、7 … 数晕了都,怎么办?
数字分隔符整起来!
1 |
|
这样写是没问题的,而且数字分割开后也更直观!!
三、try…catch…finally 谁厉害?
普通函数调用中,return 一般会提前结束函数的执行
1 |
|
而在 try…catch…finally 中,return 就不会提前结束执行
1 |
|
这个程序会返回什么呢?思考一下
Tow hours Later~
答案是:3
最后得出结论,还是 finally 比较厉害
那么我们可以搞一些骚操作
1 |
|
四、获取当前调用栈
1 |
|
五、一行代码生成随机字符串
我最初学js时,想自己实现一个随机生成字符串的函数,是这么搞的
1 |
|
真麻烦啊!我光写26个字母和10个数字就写了半天(当然也可以用ASCII码来实现,会更方便点)
接下来介绍一个方法,只需 一行超短代码 即可实现 “随机生成字符串” 的功能
1 |
|
我们同样获得了一个10位数的随机字符串,这太酷了😎,跟我写的那个比起来,简直不要太爽
先是 Math.random() 生成 [0, 1) 的数,也就是 0.123312、0.982931之类的,然后调用 number 的 toString方法将其转换成36进制的,按照MDN的说法,36进制的转换应该是包含了字母 az 和 数字09的,因为这样生成的是 0.89kjna21sa 类似这样的,所以要截取一下小数部分,即从索引 2 开始截取10个字符就是我们想要的随机字符串了
很多开源库都使用此方式为DOM元素创建随机ID。
六、最快获取dom的方法
HTML中带有 id 属性的元素,都会被全局的 ID 同名变量所引用
1 |
|
原本获取 dom 是这样的
1 |
|
现在可以这样
1 |
|
是不是很方便 ^-^
参考文章
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!