千家信息网

怎样理解JavaScript中的变量与作用域

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,怎样理解JavaScript中的变量与作用域,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、原始值与引用值6种简单数据类型的值都是原始
千家信息网最后更新 2026年11月03日怎样理解JavaScript中的变量与作用域

怎样理解JavaScript中的变量与作用域,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1、原始值与引用值

6种简单数据类型的值都是原始值, 原始值通过变量赋值给另一个变量时,会复制一个出一个新的值,两者相互独立。

let num1 = 5let num2 = num1

引用值通过变量赋值给另一个变量时,也会复制一个值,这个值其实是一个指针(引用),该指针指向的还是同一个对象。

let obj1 = new Object()let obj2 = obj1

既然是指向同一个引用对象,那么给obj1添加属性,也会作用到obj2身上去。

obj1.name = "zhangsan"console.log(obj2.name) // zhangsan

函数在传参的过程中,只有一种情况就是按照值传递,这跟变量的赋值是一个样。只不过,对于引用值,传递的值是指针,但指针指向的还是同一个对象。

2、instanceof

typeof 一般适合用来判断原始值,对于引用值并不使用,因为 null 和 其它对象返回的都是 object,具体是什么类型的对象并不知道。 而判断引用值具体是什么类型对象最好的方法就是用 instanceof 表达式。

console.log(1 instanceof Object)  //falselet obj = new Object();console.log(obj instanceof Object)  //trueconsole.log(null instanceof Object)  //falsefunction fun(){    //}console.log(fun instanceof Object)  //trueconsole.log(fun instanceof Function) //trueconsole.log([] instanceof Object) //trueconsole.log([] instanceof Array) //true

3、作用域

变量的作用范围称为作用域或者执行上下文,变量脱离了该作用域不再可见,所有系统查找一个变量时是有一个作用域链的。先从引用该变量最近的块作用域找,没找到继续往外局部作用域找,再没找到就在全局作用域中查找。如果还没找到就会报错 ReferenceError: xxx is not defined。

看完上述内容,你们掌握怎样理解JavaScript中的变量与作用域的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

作用 变量 对象 原始 指针 指向 方法 类型 内容 就是 更多 还是 问题 束手无策 一个样 为此 上下 上下文 全局 函数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司经营范围 互联网科技媒体 浩特互联网科技 互联网科技大会案例 哈尔滨秒房互联网科技有限公司 玖二柒互联网科技公司待遇 科技互联网的估值 华服互联网科技官网 互联网还是高科技吗 健康食品互联网创新科技园项目 明优互联网科技有限公司 烟台灵鸽互联网科技有限公司 2021互联网科技公司排名 互联网金融科技元年 伍佰万互联网科技怎么赚钱 皮皮虾互联网科技有限公司 35岁以上互联网科技行业 北京品多多互联网科技有限公司 互联网大会出现的黑科技 互联网科技创业有什么好项目 湖北九亚互联网络科技有限公司 互联网医疗科技 互联网科技宣传片 盛创互联网科技有限公司 青岛中康互联网医疗科技有限公司 互联网企业和科技型企业 九思连强互联网电子科技有限公司 互联网界的黑科技 陕西九四连强互联网科技有限公司 艺电能源互联网科技有限公司招聘
0