函数作用域
全局变量
声明提升,全局使用,在函数内修改全局变量,调用函数一次,变量被修改一次;
局部变量
函数执行完毕以后,函数会自动销毁;无法根据函数执行次数保留累计变量值;
如果与全局同名,无法直接使用全局,除非window.全局变量名
函数的参数
函数的参数是函数的局部变量,可以通过执行函数时将值传递进入函数,赋予对应位置的参数;
## 形参和实参
形参只能是变量;而实参可以是常量;实参赋值给形参时按照实际顺序一一赋值
参数是弱类型,不能设置默认值es5,传递时如果不需要填入则用都好分隔;
参数如果是不定数量,在es5中会自动创建一个局部变量arguments
形参的数量——函数名.length;实参的数量——arguments.length;
function max(){
if(arguments.length=0)return;
if(arguments.length=1)return; //参数超过三才行
var max=arguments[0]; //将第一个参数存到变量中
for(var i=0;i<arguments.length;i++){
//循环遍历出所有的参数
max=max<arguments[i]?arguments[i]:max //从第一个开始两两比较,将最大值存起来
}
console.log(max);
}
max(2,4,3,0,9)