[关闭]
@songying 2019-10-05T17:16:46.000000Z 字数 937 阅读 1205

JS 函数

JavaScript


1. 函数定义和调用

  1. function functionname(arg1, ...)
  2. {
  3. ...
  4. }
  5. # 匿名函数
  6. var functionname = function(arg1, ...){
  7. ...
  8. };

1. arguments

它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数。arguments类似Array但它不是一个Array。

2. rest 参数

  1. function foo(a, b, ...rest) {
  2. ...
  3. }

2. 变量作用域

1. 变量提升

2. 全局作用域

3. 命名空间

全局变量会绑定到window上,不同的JavaScript文件如果使用了相同的全局变量,或者定义了相同名字的顶层函数,都会造成命名冲突,并且很难被发现。

减少冲突的一个方法是把自己的所有变量和函数全部绑定到一个全局变量中。

  1. // 唯一的全局变量MYAPP:
  2. var MYAPP = {};
  3. MYAPP.name = 'myapp';

4. 局部作用域

在for循环等语句块中是无法定义具有局部作用域的变量的, 因此往往将 for 循环中的 var 改为 let

  1. for (let i=0; i<100; i++) {
  2. }

未声明的变量

如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。

  1. carname="Volvo"; //此时,carname就是一个全局变量
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注