摘要:
从一个简单的问题谈起 输出结果是undefined 这种现象称为预解析---JavaScript引擎会悠闲解析var变量和function定义,完成后才会执行代码; 当一个文档流中包含多个script代码段(用script标签分割的js代码引入的js文件,运行顺序是 step1:读入第一段代码段 step2:做*语法分析*,有错报语法错误包括括号不匹配等,并跳转到step5 step3:对var变量和function定义做*预解析*,永远不会报错,因为只解析正确的声明 step4:执行代码段,有错则报错,比如变量未定义 step5:如果还有下一个代码段,则读入下一个代... 阅读全文