作用域:
JavaScript的函数作用域是指在在函数内声明的所有变量在函数体内始终是可见的,就是说只要变量在某一函数中声明了,变量在函数任意位置它都是有意义的。
例1:
function a(){
console.log(aa);//undefined
var aa = 'haha';
console.log(aa);//haha
}
之所以是以上结果,是由于在JavaScript 中,函数及变量的声明都会被提升到函数的最顶部,所以在函数内声明的所有变量在函数体内始终是可见的(作用域)。
实际上例1的代码是按以下执行的:
function a(){ var aa; console.log(aa);//undefined aa = 'haha'; console.log(aa);//haha }
(1)变量声明:指的是JavaScript 中,变量可以在使用后声明,也就是在代码区中任意地方申明变量和在最开始(最上面)的地方申明是一样的。
(2)函数声明:js中创建函数有两种方式(函数声明式和函数字面量式),只有函数声明才存在函数提升。