千家信息网

JS变量中有哪些需要注意的

发表于:2026-11-05 作者:千家信息网编辑
千家信息网最后更新 2026年11月05日,这篇文章给大家介绍JS变量中有哪些需要注意的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 使用var关键字声明的变量即显式声明变量:如:var abc1 = 'hello'js
千家信息网最后更新 2026年11月05日JS变量中有哪些需要注意的

这篇文章给大家介绍JS变量中有哪些需要注意的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 使用var关键字声明的变量即显式声明变量:如:var abc1 = 'hello'

js允许不使用var声明变量即隐式声明变量:如:abc2 = 'world'

那么,问题来了,这两种变量有什么不一样的地方吗?http://www.2798888.com/

1.如果abc1和abc2 都在全局作用域,在浏览器控制台打印window对象:console.log( window )

如下图:

上图可以看到:在全局的变量abc1和abc2都是window对象的属性,都拥有全局作用域。

2.如果abc1和abc2都在函数作用域,在浏览器控制台打印window对象?

如下图:

上图可以看到:在函数作用域中abc1不会出现在window对象中,是一个局部变量;而abc2依然是window对象的属性,拥有全局作用域。

3.如果abc1和abc2 都在全局作用域,都是window对象的属性,它们是否可以如对象属性一般可以被删除呢?

如下图:

上图可以看到:使用var声明的变量abc1并没有被删除,依然是window对象的属性;而不使用var声明的变量abc2已被删除掉。

4 .为什么会有这样的差别呢?

这与默认的对象属性描述符有关!

如下图:

上图可以看到:window对象的属性abc1的描述符中,configurable: false 表示该属性不可配置、不可删除。

5

如下图:

上图可以看到:window对象的属性abc2的描述符中,configurable: true 表示该属性可配置、可删除。

正是对象属性描述符中的默认设置不一样,导致了是否可删除的差异!

在js中变量声明和函数声明会出现'声明提升',js引擎解析执行代码时分为两个阶段:1.预解析阶段;2.逐行执行阶段。

在预解析阶段变量abc1被声明并赋初始值为undefined;在逐行执行阶段变量abc1被赋值为'hello';所以,在变量声明之前打印不会报错,打印的值为undefined。

关于JS变量中有哪些需要注意的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

变量 对象 属性 作用 上图 全局 阶段 函数 内容 控制台 更多 浏览器 帮助 控制 浏览 配置 不错 两个 代码 关键 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 喔噻互联网科技有限公司 广东万易互联网科技有限公司惠州分公司 科技类互联网 互联网科技英文 腾讯科技 互联网女皇 唐信互联网科技 大连 广西互联网科技公司 一五八零互联网科技 宜昌元轩互联网科技有限公司 互联网科技和信息 内蒙古九一互联网科技 企晟互联网信息科技有限公司 城市宝互联网科技有限公司 福建互联网展示科技馆设计 全球科技与互联网公司市值变化 银川新华互联网科技学校是国营吗 互联网企业和网络科技有限公司 中国主要互联网科技公司 小牛互联网科技有限公司地址 云之行互联网科技 唐信互联网科技 科技伦理 互联网公司 创业天下互联网科技有限公司 重庆威客帮互联网科技 互联网科技商业 中国科技创新与世界互联网大会 中国互联网公司排名锤子科技 黑龙江互联网科技公司 中国主要互联网科技公司
0