<script> /* * 变量的声明提前 * 使用var关键字声明的变量,会在所有的代码执行之前被声明(但是不会赋值),等到执行到再赋值。 * 但是如果声明变量时不使用var关键字,则变量不会被提前声明。 */ console.log(a);//不会报错,因为a以及被提前声明,所有返回undefined值。 var a=10; b=10;//相当于写window.b=10; console.log(b);//返回10。 //console.log(c);//会报错,因为c并没有被提前声明。 c=10; /* * 函数的声明提前 * 使用函数声明形式创建的函数function 函数名(){} * 它会在所有的代码执行之前就被创建,所以我们可以在函数声明前调用函数。 * 使用函数表达式创建的函数,不会被声明提前,所以不能在声明前调用。 * */ fun1();//成功调用fun1函数。 console.log(fun2); //fun2();//会报错,fun2变量虽然被声明提前了,但是函数没有。 //函数声明,会被提前创建 function fun1() { console.log("我是一个fun1函数"); } //函数表达式,不会被提前创建 var fun2=function() { console.log("我是一个fun2函数"); } </script>
JS变量的声明提前
猜你喜欢
转载自www.cnblogs.com/shenhengjia/p/9315451.html
今日推荐
周排行