#函数#
- (1)function(声明式函数)
- `function(关键字) test(){ 区块 }`
- (2)函数表达式(方法):
- `var test = function(){ 区块 }`
- 对象:
- `var test = new Function()`
- `var fn = function () {`
- ` console.log(1);`
- `}`
- `fn();`
- **注:**提升只会针对声明式的,表达式是在赋值的时候交给变量。
- **函数作用域(scope):**
- **定义:**指的是变量存在的范围。
- **注:** 如果没有加var定义变量,则定义的是全局变量,不推荐。
- 函数内部使用到的变量,在函数声明的时候已经确认了在函数内部的作用域。
- `var x = 1, y = 2;`//值传递
- `function fn ( x , y ) {`
- `x = 2;`
- `y = 3;`
- `}`
- `fn(x , y );`
- `console.log(x+ "" +y);`
- 输出的量是1,2
- **形式参数:**针对原始的数据类型,它是通过值传递的方式;针对引用类型,是通过址传递。
- name(返回函数名)
- lenght(查看参数的个数)
- arguments:每个函数都有一个arguments,表现形式和数组相同,但并不是数组。
- `function fn () {`
- `var i = 0`
- (通常情况下,当函数执行过后,函数内部的数据会被销毁,释放出来)
- (1)function(声明式函数)
- `function(关键字) test(){ 区块 }`
- (2)函数表达式(方法):
- `var test = function(){ 区块 }`
- 对象:
- `var test = new Function()`
- `var fn = function () {`
- ` console.log(1);`
- `}`
- `fn();`
- **注:**提升只会针对声明式的,表达式是在赋值的时候交给变量。
- **函数作用域(scope):**
- **定义:**指的是变量存在的范围。
- **注:** 如果没有加var定义变量,则定义的是全局变量,不推荐。
- 函数内部使用到的变量,在函数声明的时候已经确认了在函数内部的作用域。
- `var x = 1, y = 2;`//值传递
- `function fn ( x , y ) {`
- `x = 2;`
- `y = 3;`
- `}`
- `fn(x , y );`
- `console.log(x+ "" +y);`
- 输出的量是1,2
- **形式参数:**针对原始的数据类型,它是通过值传递的方式;针对引用类型,是通过址传递。
- name(返回函数名)
- lenght(查看参数的个数)
- arguments:每个函数都有一个arguments,表现形式和数组相同,但并不是数组。
- `function fn () {`
- `var i = 0`
- (通常情况下,当函数执行过后,函数内部的数据会被销毁,释放出来)