1.标准语法是使用函数声明定义函数
![](https://img.haomeiwen.com/i17296871/38506c908fcd55e6.png)
2.使用对象方式定义函数,其实函数就是对象。
![](https://img.haomeiwen.com/i17296871/b93f5cc731d41629.png)
3.对象的作用就是将一些属性和相关方法封装在一起(重要经验)
![](https://img.haomeiwen.com/i17296871/2ee145beb8c441c4.png)
标准声明的函数优先级更高,解析器会优先提取函数并放在代码树顶端,所以标准声明函数位置不限制,所以在任何地方都可以调用函数。变量函数定义不会被提升。匿名函数,函数是对象所以可以通过赋值来指向到函数对象的指针,当然指针也可以传递给其他变量,注意后面要以;结束。下面使用函数表达式将 匿名函数 赋值给变量。
![](https://img.haomeiwen.com/i17296871/d04ae5c688ddc868.png)
全局函数会声明在window对象中,可能会导致覆盖Window自带方法,比如获取窗口显示的屏幕宽window.screenX,而使用let/const时不会压入window。
4.立即执行函数,指函数定义时立即执行。可以用来定义私有作用域防止污染全局作用域。立即执行函数有多种写法。
![](https://img.haomeiwen.com/i17296871/c7d8ca5aec684059.png)
5.实参和形参
![](https://img.haomeiwen.com/i17296871/2f6abf8f93bdae4a.png)
6.argument是函数获得的所有实参的集合。
7.回调函数,在其他函数之中又调用了一个函数,比如处理键盘、鼠标事件的函数。
![](https://img.haomeiwen.com/i17296871/1c3e9e1a12fe51c8.png)
使用回调函数递增计算,下面例子中map本身就是一个函数,然后又在他的内部调用了一个函数。
![](https://img.haomeiwen.com/i17296871/8fe730945e77be5f.png)
8.模板字符串,在 JavaScript 中编写字符串时,通常使用 ( ' )或者 ( " ),而模板字符串使用 (`)。普通字符串的写法在需要换行是需要插入换行符 \n,而模板字符串可以保留代码中的格式。
![](https://img.haomeiwen.com/i17296871/327869ba2e3e92a3.png)
9.标签函数,使用函数来解析标签字符串,第一个参数是字符串值的数组,其余的参数为标签变量。
![](https://img.haomeiwen.com/i17296871/0336e4d2ed5c28f6.png)
网友评论