JS基础知识

1、条件判断

Javascript把null、undefined、0、NaN和空字符串' '视为false,其他值一概视为true。

2、Map

ES6规范引入了新的数据类型Map,是一组键值对的结构,具有极快的查找速度。

Map常用到的方法有set()、get()、has()、delete()等。

3、Set

Set也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key。

Set常用到的方法有add()、delete()等。

注:Map和Set是ES6标准新增的数据类型,请根据浏览器的支持情况决定是否要使用。

4、iterable

为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型。

具有iterable类型的集合可以通过新的for ... of循环来遍历。

然而,更好的方式是直接使用iterable内置的forEach方法,它接收一个函数,每次迭代就自动回调该函数。

5、函数

5.1 arguments

它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数。利用arguments,可以获得调用者传入的所有参数。

arguments最常用于判断传入参数的个数。

5.2 rest参数

ES6标准引入了rest参数,如果传入的参数连正常定义的参数都没填满,rest参数会接收一个空数组。

5.3 变量作用域与解构赋值

JavaScript的函数可以嵌套,内部函数可以访问外部函数定义的变量,反过来则不行。

为了解决块级作用域,ES6引入了新的关键字let,用let替代var可以申明一个块级作用域的变量。

从ES6开始,JavaScript引入了解构赋值,可以同时对一组变量进行赋值。例:var [x, y, z] = ['hello', 'JavaScript', 'ES6'];

5.4 方法

在一个对象中绑定函数,称为这个对象的方法。

要指定函数的this指向哪个对象,可以用函数本身的apply方法,它接收两个参数,第一个参数就是需要绑定的this变量,第二个参数是Array,表示函数本身的参数。

另一个与apply()类似的方法是call(),唯一区别是:

  • apply()把参数打包成Array再传入;
  • call()把参数按顺序传入。

6、高阶函数

JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。

对于数组,除了map()、reduce()、filter()、sort()这些方法可以传入一个函数外,Array对象还提供了很多非常实用的高阶函数。

every()方法可以判断数组的所有元素是否满足测试条件。

find()方法用于查找符合条件的第一个元素,如果找到了,返回这个元素,否则,返回undefined。

findIndex()方法也是查找符合条件的第一个元素,不同的是,返回这个元素的索引,找不到会返回-1。

forEach()和map()类似,它也把每个元素依次作用于传入的函数,但不会返回新的数组。

原文地址:https://www.cnblogs.com/yf2018jy/p/12983293.html