2012年12月24日
摘要: var i = 0;function a(){ console.log(i); var i=1; console.log(i)}a();在执行js前,会对var和function做预解析当函数a执行时,它的执行环境中有i声明,所以不会使用作用域链上的全局变量i,这个i是初始化了,但是不用它.当运行第一个log(i)时,变量在函数体内始终是可见的,所以i提前隐式声明为 var i = undefined,log(i)为 undefined 阅读全文
posted @ 2012-12-24 22:16 刘卿 阅读(162) 评论(0) 推荐(0) 编辑