1、函数的声明语法
- 这种写法是为了让用户体验更好,比如用户没输入任何东西不加限定会导致,结果为(undefined + undefined =) NaN。 而加上这个逻辑中断,如果没输入,也只会让结果为0
函数默认返回值:undefined
作用域
- 通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。
特殊情况:
- 如果函数内部或者块级作用域内部,变量没有声明,直接赋值,也当全局变量看,但是强烈不推荐
- 但是有一种情况,函数内部的形参可以看做是局部变量。
(防止变量冲突)
是匿名函数的另一种变形:
fn === function(){}
fn() === (function(){})() 或(function fn(){})()
不需要形参,直接用arguments(伪数组,类似数组的操作)传递,只在函数内有效