函数5种声明
1.具名函数
2.匿名函数(不能单独使用)
注意:不一致问题
如果如上声明,y作用于在函数内部,x可作为外部调用使用,使用y则会发生未声明错误!!!
3.window.Function()
4.new Function('x','y','return x+y')
5. 箭头函数
f = (输入)=>{return }
()去掉条件:只有一个变量
{}去掉条件:只有一句话并且没有return
如何调用函数
function f(x,y){return x+y}
f(2,3)
//等价于
f.call(undefined,2,3)//硬核玩家写法,对理解this有好处
this和arguments
call调用时,undefined未知可以用this得到,(2,3)可以用.arguments得到
作用域
变量声明提升!!!!!
闭包
定义:如果一个函数使用了他范围外的变量,那么(这个函数+这个变量)就叫做闭包。