详解:js声明提前

1.变量声明提前

变量的声明提前
-使用var关键字声明的变量,会在所有的代码执行之前被声明(但是不会赋值)﹐
但是如果声明变量时不适用var关键字,则变量不会被声明提前

			//变量声明提前
			 console.log("a = "+a);
			 var a = 123; //-->a = undefined没报错
			 //相当于
			 var a;
			 console.log("a = "+a);
			 a = 123;
			 //在代码执行前就会检查,定义(只是定义但没有赋值)

2.函数声明提前–(估计你也理解了java python中为什么函数可以在创建前调用----->优先级高)

函数的声明提前
-使用函数声明形式创建的函数function函数(){}
它会在所有的代码执行之前就被创建

			 fun();    //-->我是函数1
			 fun2();   //-->UncaughtTypeError: fun2 is not a function
			 //fun2();虽说变量声明提前,但是变量声明了,var fun2;  他还没有被函数赋值,所以会报错
			 function fun(){
				 console.log("我是函数1");
			 }
			 var fun2 = function(){
				 console.log("我是函数2");
			 };
			 
			 //就相当于
			 var fun2;
			 fun2();
			 fun2 = function(){
				 console.log("我是函数2");
			 };
			 //-->知道为什么报错了吧
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值