js函数有哪些特点

JavaScript016

js函数有哪些特点,第1张

1,如果没有return语句,默认返回是uedefined2,函数内部包含一个默认的arguments参数数组,它返回函数所接收的所有参数3,如果在函数中声明一个变量没有使用var,这个变量将默认为全局变量4,函数域始终高于全局域5,函数也是数据6,typeof 函数名 返回 function7,闭包7-1,作用域链JavaScript中不存在块作用域,存在函数作用域,在函数内,能够访问全局和函数域的变量,在函数外,只能访问全局域的变量7-2,词法作用域 每个函数在定义时(而非执行时)都会创建一个属于自己的环境(作用域),function f1(){var a=1f2()} function f2() {return a} f1()=>a is notdefined当f2定义时,变量a是不可见的7-3,利用闭包突破作用域链

函数你可以理解为去完成一个特定功能的代码集合。

也就是你说的功能性的东西。

一般,我们需要一个什么功能,往往会写一个函数去实现它。

比如,去实现一个两个数相加的功能,我们可以写一个函数专门来做这个事情。

这么做的好处就是代码更容易维护,主体代码更容易理解。

立即执行函数可以避免函数内的变量暴露在全局环境下,避免全局变量的污染。

这种模式是非常有用的,因为它为你初始化代码提供了一个作用域的沙箱;

考虑一下下面这种常见的场景:

你的代码在页面代码加载完成之后,不得不执行一些设置工作,比如附加时间处理器,创建对象等等,

所有的这些工作只需要执行一次,所以没有理由创建一个可复用的命名的函数,

但这些代码也需要一些临时的变量,但初始化过程结束后,就再也不会被用到了,

所以将这些变量作为全局变量不是个好主意,所以我们需要立即执行函数——去将我们所有的代码包裹在它的局部作用域中,不会让任何变量泄露成全局变量;