Javascript基础面试问题

26 阅读1分钟

(学习笔记) 总结

  • 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