博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js的变量提升
阅读量:7104 次
发布时间:2019-06-28

本文共 515 字,大约阅读时间需要 1 分钟。

hot3.png

JavaScript引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)

1.没有声明 (var),直接输出;

console.log(a);

结果为报错Uncaught ReferenceError: a is not defined

2.在输出语句之后,var声明变量;

console.log(a);var a;

结果为undefined,没有报错;

3.在输出语句之后,var声明变量并赋值;

console.log(a);var a=1;

结果也为undefined,没有报错;

2和3例子对比证明,js变量提升只会输出undefined,不能获取变量的值;

4.在输出语句之后,不用var声明变量;

console.log(a);a;

结果为报错Uncaught ReferenceError: a is not defined

2和4例子对比证明,js变量提升仅限有用var声明的变量;

来源:

转载于:https://my.oschina.net/xuyaoxiang/blog/806905

你可能感兴趣的文章
spring-boot+spring-session集成
查看>>
vmware挂载磁盘脱机解决方案
查看>>
多点触控实现图面的放大与缩小
查看>>
Android开发小记--开发实用工具类--数据库操作类
查看>>
memcached总结
查看>>
http://blog.itpub.net/28929558/viewspace-1473102
查看>>
八款常用的 Python GUI 开发框架推荐
查看>>
H3C实验20-OSPF
查看>>
xxx is not in the sudoers file
查看>>
maven 镜像网站
查看>>
OSI模型有7层结构
查看>>
go语言碎片整理之标准库log
查看>>
导航菜单栏
查看>>
linux权限及权限管理
查看>>
vim补充及多条件判断
查看>>
VM虚拟机下载与安装
查看>>
深入理解Java内存模型(六)——final
查看>>
步步为营搭建spring+springmvc+mybatis(oracle)项目
查看>>
MDaemon退信分析:553 MI:SUM
查看>>
Windws Srv 2008内置账户
查看>>