arguments对象(不定型参数)
arguments对象:在函数体内具有数组功能的一个对象。但不是数组对象的实例(即不是数组类型)。
1、函数声明后,函数体内就存在了arguments对象。
2、函数调用,初始化实参时,实参按照顺序保存在arguments对象中。
3、通过下标值可以访问arguments对象中保存的实参值。
4、arguments对象只能在函数中使用。
function hello(){
console.log(arguments[0],arguments[1],arguments[2]);
}
hello(10,20,30,40)
随便输入几个数字计算和;
//定义一个变量为he,初始值是0,用于储存和
var he=0;
function jisuan(num){
for (var i=0;i<arguments.length;i++) {
he+=arguments[i]
}
alert(he);
}
//调用函数计算并传入10,20,30,40
jisuan(10,20,30,40)
作用域:简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期
全局 在函数外面定义的的变量
特点:哪儿都可以修改
局部 定义在函数内部的
特点:出了函数就谁也不认了
闭包:官方”的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分
简单的说就是自函数能调用父函数的变量而父函数不能使用子函数的变量''