日期:2014-05-16  浏览次数:20329 次

《javascript高级程序设计》中的一个错误

今天看《javascript高级程序设计》,书中第24章第2节2.1小节中说到:“和函数类似,with语句会创建自己的作用域,……”,于是我做了以下测试:

    <script>
		
		var obj={"name":"wang","age":"23"};
		var wmj=23;
		with(obj)
		{
			console.log(wmj) ;
			var wmj='wangmeijian';
'
			console.log(wmj)  ;			
		};
		
    </script>

得出结果分别是:23和wangmeijian,假如with会创建作用域的话,结果应该是undefined和wangmeijian才对,所以严谨来说这句话是错误的,至少是不完全正确的!