arguments:
argument是函数的一个内置属性,他存储了传递所有的实参.他是一个为数组,可以循环遍历
匿名函数:
就是没有名字的函数
var 函数名 = function(){
}
自调用函数:
(function () {
alert(123);
})();
作用域:变量可以起作用的范围
全局变量:var声明的变量,不在函数中声明,那么就是全局变量,作用于任何位置
局部变量:作用于局部区域的变量,在函数中声明的变量
隐式全局变量:不用var声明的变量,直接赋值使用的变量可以作用于全局作用域
var num2 = 1; //全局变量
num4 = 4; // 隐式全局变量
function f1(){
var num2 = 2; //局部变量
num3 = 3; //隐式局部变量
}
作用域链:
// 0级作用域
function f1(){
// 1级作用域
function f2(){
// 2级作用域
function f3(){
// 3级作用域
console.log(num);
}
f3();
}
f2();
}
f1();
预解析:JavaScript代码的执行时,浏览器会先进行预解析过程
预解析过程:
变量声明提升到最前,不会赋值
函数声明提升到最前,不会调用
先提升var,在提升functio