(学习笔记) 总结
- 1.除了函数外,js是没有块级作用域的。
- 2.作用域链:内部是可以访问外部的变量,外部是不可用访问内部的变量。注意:如果内部有,先查询内部的,如果内部没有就查外部的
- 3.注意声明变量是用var 还是没有写(window)
- 4.js有变量提升机制
- 5.优先级:声明变量 > 声明普通函数 > 参数 > 变量提升
实例题目 1.
var b = 1;
function a(){
//var b;
console.log( b ); undefined
var b = 2;
console.log( b ); 2
}
a();
console.log( b ); 1
}
c();
`var name = 'a';
(function(){ // var name;(变量提升)
if( typeof name == 'undefined' ){
var name = 'b';
console.log('111'+name);
}else{
console.log('222'+name);
}
})()` 111b
var a = 10;
function a(){}
console.log( a ); 10
}
fun( 100 );
//如第三条总结,没有写就是 window.b = 100
(function(){
var a = b =100
})()
console.log(b) 100