javascript高级程序设计阅读收获(4.1)——原始值与引用值
2021/5/30 20:53:38
本文主要是介绍javascript高级程序设计阅读收获(4.1)——原始值与引用值,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.原始值
- undefined,null,boolean,number,string,symbol这些都是原始值。
- 原始值不能拥有属性
let name = "Tom"; name.age = 26; console.log(name。age);//控制台输出undefined
- 通过变量吧原始值赋值给另一个变量时,原始值会被复制给新变量的位置。两个变量可以独立使用,互不干扰。
let num1 = 5; let num2 = num1; num2 += 1; console.log(num1);//输出结果为5 console,log(num2);//输出结果为6 //改变num2不会影num1的值
- 原始值作为参数在函数里面使用,不会影响函数外部。
function add(num){ num += 10; return num; } let count = 20; let result = add(count); console.log(count);//输出结果为20 console.log(result);//输出结果为30
2.引用值
- 引用值是由多个原始值构成的对象。
- 引用值可以随时添加、修改和删除其属性和方法。
let person = new Object(); person.name = "Tom"; console.log(person.name);//控制台输出"Tom"
- 把引用值从一个变量赋值给另一个变量的时候,将储存在变量中的指针赋值给另一个变量。两个变量实际上指向同一个对象。因此一个对象上的变化会在另一个对象上反应出来。
let obj1 = new Object(); let obj2 = obj1; obj1.name = "Tom"; console.log(obj2.name);//输出结果为Tom
- 引用值作为参数在函数里面使用,会影响函数外部。因为下例中,obj与person指向同一个对象
function setName(obj){ obj.name = "Tom"; } let person = new Object(); setName(person); console.log(person.name);//输出结果为Tom
3.instanceof操作符
- typeof操作符对原始值很有用,对引用值作用不大。通常我们不关心一个值是不是对象,而是想知道他是什么类型的对象,可以通过instanceof来实现。
console.log(person instanceof Object);//如果变量person是Object则返回true console.log(colors instanceof Array);//如果变量colors是Array则返回true console.log(pattern instanceof RegExp);//如果变量pattern是RegExp则返回true
- 所有的引用值都是Object的实例,因此通过instanceof检测任何引用值和Object的构造函数都会返回true。
- 如果用instanceof检测原始值,始终返回false,因为原始值不是对象。
这篇关于javascript高级程序设计阅读收获(4.1)——原始值与引用值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现