函数: 把一些重复的代码封装在一个地方,在需要的时候直接调用这个地方的代码就可以了
函数作用: 代码重用
函数的参数:
- 形参:函数定义的时候,函数名字后面的小括号里的变量
- 实参:函数调用的时候,函数名字后面的小括号里的变量或者值
返回值:
- 函数中有return,函数有返回值
- 函数中没有return,函数没有返回值
没有明确返回值:函数中没有return或者return后面没有任何内容
如果一个函数没有明确的返回值,接收这个函数,结果是undefined
- 无参数无返回值的函数
- 无参数有返回值的函数
- 有参数无返回值的函数
- 有参数有返回值的函数
- arguments----->可以获取函数调用的时候,传入的实参的个数
- arguments是一个对象,是一个伪数组
- arguments.length--->是实参的个数
- arguments[索引]---->实参的值
作用域:变量的使用范围
- 全局作用域:全局变量在任何位置都可以使用的范围
- 局部作用域:局部变量只能在某个地方使用---函数内
- 作用域链: 在一个函数中使用一个变量,先在该函数中搜索这个变量,找到了则使用,找不到则继续向外面找这个变量,找到则使用,一直找到全局作用域,找不到则是undefined
- 全局变量: 只要是在函数外面声明的变量都可以看成或者是理解成是全局变量
- 局部变量: 在函数中定义的变量
预解析:在执行代码之前做的事情
- 变量的声明和函数的声明被提前了,变量和函数的声明会提升到当前所在的作用域的最上面
- 函数中的变量声明, 会提升到该函数的作用域的最上面(里面)
- 如果有多对的script标签都有相同名字的函数,预解析的时候是分段的,互不影响