今天看《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才对,所以严谨来说这句话是错误的,至少是不完全正确的!