1.将函数A作为参数传递给函数B,称A为回调函数
2.插件:就是别人写好的一些代码,我们只需要复制对应的代码,就可以直接实现对应的效果
3.js是一种单线程语言,同一时间只能做一件事
4.js先执行完所有的同步任务,然后再按照顺序读取任务队列中的异步任务
5.本地存储:基于网页的应用越来越普遍,同时也变得越来越复杂,为了满足各种需求,会经常性的在本地存储大量的数据,H5提出解决方案:
1.数据存储在用户的浏览器中;2、设置读取方便,甚至刷新页面也不会丢失数据,3.容量也比较可以,sessionStorage和LocalStorage大概5M左右
6.本地存储之localStorage:可以使用localStorage把数据存储在浏览器中,可以把数据永久的存储在本地,除非手动删除,否则关闭页面也会存在。特点:可以多窗口(页面)共享(同一浏览器可以共享),以键值对的形式存储使用
7.sessionStorage特点:生命周期为关闭浏览器窗口,在同一个页面下数据可以共享,以键值对的形式存储使用,用法跟localStorage基本相同
8.作用域链的本质底层就是变量查找机制,如果函数执行时,会优先查找当前函数作用域中查找变量,如果当前作用域没有,则依次逐级查找父级作用域直到全局作用域
9.内层函数+外层函数的变量,捆绑在一起就叫做闭包(Closure)
10.arguments动态参数只存在于函数当中,开发中建议多用剩余参数
11.箭头函数的目的:引入箭头函数的目的是写出更加简短的函数写法,并且不绑定this,箭头函数的语法比函数表达式更加简洁。
使用场景:箭头函数适用于那些本来需要匿名函数的地方
12.js中this的指向:谁调用这个函数,this就指向谁(谁调用就指向谁)
13.箭头函数不会创建自己的this,它只会从自己的作用域链的上一层沿用this
14.数组解构和对象解构无外乎就是换种写法,在某些场景下使用会更加方便。对象解构是将对象属性和方法快速批量赋值给一系列变量的语法
15.js哪两种情况需要加上分号:1.立即执行函数。2.使用数组的时候