javascript中变量提升、变量前置、变量提前

这篇博客探讨了JavaScript中变量的声明与作用域,通过一个示例展示了变量的前置声明和赋值的区别。在函数fn1内部,food和food2变量被声明并使用,而全局作用域中未定义的age变量在尝试访问时导致了错误。
摘要由CSDN通过智能技术生成

<script type="text/javascript">

console.log('*A*', hometown);
var hometown = '江西省赣州市于都县'; //变量声明会前置,但是赋值不会前置

function fn1() {
	console.log('*B*', food);
	var food = '赣南脐橙'; //变量声明会前置,但是赋值不会前置
	
	//不会报错,能识别food2变量,说明 food2变量会前置
	console.log('*C*', food2);
	var food2; //变量声明会前置
}

fn1();

//报错,Uncaught ReferenceError: age is not defined
console.log('*D*', age); //age变量根本就没定义,当然会报错了
</script>

运行结果如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值