如何提升全局变量var
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要讲解了"如何提升全局变量var",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何提升全局变量var"吧!一、提升全局变量 varvar t
千家信息网最后更新 2025年11月07日如何提升全局变量var
这篇文章主要讲解了"如何提升全局变量var",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何提升全局变量var"吧!
一、提升全局变量 var
var tmp = new Date(); function f() { console.log(tmp); if (false) { var tmp = "hello"; } } f();JS新手往往会以为将正常打印出日期,而实际输出的确是`undefined`!
> var tmp = new Date(); > function f() { ... console.log(tmp); ... if (false) { ..... var tmp = "hello"; ..... } ... } > f(); undefined这是因为在函数f()的内部,var被提升到定义域的顶部,实际执行为:
var tmp = new Date(); function f() { var tmp;// 提升到这里,将全局的tmp覆盖了。var默认赋值为undefined console.log(tmp); if (false) { var tmp = "hello"; } } f();也就是说var不仅提升,而且将tmp初始化赋值为undefined。
二、如何才能正常输入日期呢?
解决方案是将global-scope的var替换为block-scope的let:
var tmp = new Date(); function f() { //var tmp;// 提升到这里,将全局的tmp覆盖了。var默认赋值为undefined console.log(tmp); if (false) { let tmp = "hello"; } } f(); // 2021-04-02T10:52:30.983Z这是因为let定义的是local-variable.
三、TDZ临时DeadZones
更加诡异的案例,来单独看let:
var tmp = new Date(); function f() { console.log(tmp); let tmp = "hello"; } f();你原以为将会如常打印出时间,但却报错tmp未定义。
ReferenceError: Cannot access 'tmp' before initialization
这是因为 tmp 被提升,其实际执行为:
var tmp = new Date(); function f() { let tmp; // 提升在这里 console.log(tmp); let tmp = "hello"; } f();然而区别于var的是,tmp仅仅被提升,却不会被自动赋值为undefined,因此会报错`ReferenceError`.
该问题就是传说中的TDZ (temporal dead zone)。解决方案也简单,就是将所有的let或者const等全部都写到最上面。
感谢各位的阅读,以上就是"如何提升全局变量var"的内容了,经过本文的学习后,相信大家对如何提升全局变量var这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
全局
变量
实际
就是
这是
学习
内容
方案
日期
行为
解决方案
问题
诡异
也就是
也就是说
传说
函数
定义域
思路
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全人民手抄报图片
数据库开启事务
网络安全风险评估算法
电商网络技术员好吗
有经验的网络技术人员经常
软件开发创业起步方法
防双网混插网络安全套件专利
网络安全日的日期
网络安全技术成果
数据库原理怎样分析数据冗余
采用的数据库
厦门计算机软件开发专业简历模板
株洲软件开发排名
数据库虚拟点
公安部网络安全保卫局女处长
学哪个软件开发技术入门快
养殖猪行业网络安全
最佳网络安全国家
数据库设置两个外键代码
图数据库分析技术
网络安全 考研专业
动易cms 数据库
南沙区新一代网络技术开发展示
理财游戏软件开发
数据库数据备份与安全
数据库的安全性 完整性
智能边缘计算服务器选择
单位内设网络安全组织机构
服务器git如何更新
电厂sis系统网络安全