只需5分钟,掌握9个风骚又简洁的JavaScript技巧

2019-09-03 19:39

1. 清除或截断一个数组

通过更改数组的长度(length)这个简单的方法,我们就能清除或者截断一个数组啦:

  1. constarr=[11,22,33,44,55,66];
  2. //truncanting
  3. arr.length=3;
  4. console.log(arr);//=>[11,22,33]
  5. //clearing
  6. arr.length=0;
  7. console.log(arr);//=>[]
  8. console.log(arr[2]);//=>undefined

2. 用解构对象来模拟命名函数

当你需要将一组变量作为参数传递给某个函数时,使用「配置对象」的可能性很高,如下所示:

  1. doSomething({foo:'Hello',bar:'Hey!',baz:42});
  2. functiondoSomething(config){
  3. constfoo=config.foo!==undefined?config.foo:'Hi';
  4. constbar=config.bar!==undefined?config.bar:'Yo!';
  5. constbaz=config.baz!==undefined?config.baz:13;
  6. //...
  7. }

使用doSomething函数的时候, { foo: 'Hello', bar: 'Hey!', baz: 42 } 这个 Json 作为参数传递了进来,然后在函数中拆解Json给变量赋值。

这是一种古老而有效的模式,它试图模拟 JavaScript中的命名参数。这样处理虽然也行,但是会导致代码不必要的冗长。 借助ES2015的对象解构,你可以避开这种冗长:

  1. functiondoSomething({foo='Hi',bar='Yo!',baz=13}){
  2. //...
  3. }

如果你需要使函数中的参数成为可选参数,那也很简单:

  1. functiondoSomething({foo='Hi',bar='Yo!',baz=13}={}){
  2. //...
  3. }

3.数组的参数结构

使用「对象解构」,拆解内容为数组的字符串,然后进行变量赋值:

  1. constcsvFileLine='1997,JohnDoe,US,john@doe.com,NewYork';
  2. const{2:country,4:state}=csvFileLine.split(',');

数组中的第2项「US」赋值给了country,第四项「New York」赋值给了state。

4. 包含范围条件的switch语句

以下是在switch语句中使用范围的简单技巧:

5分钟,掌握9个风骚又简洁的JavaScript技巧

扫描二维码分享到微信

在线咨询
联系电话