JavaScript之预解析
Posted chm-blogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript之预解析相关的知识,希望对你有一定的参考价值。
<script>
/** 预解析:提前解析代码
*
* 预解析做什么事?
* 把变量的声明提前了(但赋值不会提前),提前到当前所在作用域的最上面
* 函数的声明也会被提前,提前到当前所在作用域的最上面
*
* 预解析会分段(多对script标签中的函数重名,预解析的时候不会冲突)
*
* 先提前var,在提前function
*/
//把变量的声明提前了
console.log(num);//没有报错--undefined
var num=20;
f1();
function f1()
console.log("哈哈哈哈");
f2();
var num1=20;
function f2()
console.log(num1); //结果是undefined 不是20
var num1=10;
f3();
var num2=20;
function f3()
console.log(num2); //结果是undefined 因为预解析将函数f3和变量num2(但没有赋值)的定义提前
var num3=20;
function f4()
console.log(num3); //结果是20
f4();
</script>
以上是关于JavaScript之预解析的主要内容,如果未能解决你的问题,请参考以下文章