手机版

Javascript中引用类型传递的知识点总结

时间:2021-09-05 来源:互联网 编辑:宝哥软件园 浏览:

JS中哪些类型是引用类型?

对象类型都是引用类型。(函数、数组、日期、正则表达式.)

值传递是什么类型的JS?

基本类型是价值转移。价值转移是为了转移而重新复制一份拷贝。

如何通过引用类型传递值类型的变量?

通过包装基类型,它可以作为引用类型传递。

ECMAScript提供了三种特殊的引用类型(基本打包类型):布尔值、字符串和数字。

参考类型和基本包装类型的区别:对象的生命周期不同。

参见代码:

var str=' hello jsvar str2=str.substring(2,5);str 2的形成就是这样在JS中实现的。var str=new String(' hello js ');var str2=str.substring(2,5);str=null引用类型的内存分配

例如: var o={ name: ' kobe ' } ' }

堆栈:保存指向堆上对象的内存地址的指针。我们通过指针句柄操作堆上的对象。

理解==和===

"==="严格运算符

严格操作者的操作规则:

1.不同的数据类型

如果两个值的类型不同,则直接返回false。

2.相同类型的基本数据类型(字符串、布尔值、数字)

当比较相同类型的原始值(数值、字符串、布尔值)时,如果值相同,它将返回true如果值不同,它将返回false。

3.同一类型的复合数据类型

当比较两个复合类型(对象、数组和函数)的数据时,不是比较它们的值是否相等,而是比较它们是否指向同一个对象。

Console.log([1]===[1]) //false4,未定义且为空

Undefined和null严格等于它们自己。

console . log(null===null)//true console . log(undefined===undefined)//true "=="相等运算符

比较相同类型的数据时,相等运算符与严格相等运算符完全相同。

比较不同类型的数据时,相等运算符首先转换数据,然后将它们与严格相等运算符进行比较。类型转换规则如下(下面讨论不同的类型):

1、都是价值的原始类型

原始类型的数据将转换为数字类型进行比较。

2.将对象与原始类型值进行比较

当一个对象(这里是广义对象,包括值和函数)与原始类型的值进行比较时,该对象被转换为原始类型的值,然后进行比较。

3.未定义且为空

当undefined和null与其他类型的值进行比较时,结果为假,当它们相互比较时,结果为真

console . log(null==undefined)//true 4,相等运算符的缺点

等式运算符的隐藏类型转换会带来一些违反直觉的结果。

console . log('=' 0 ')//false console . log(0==' ')//True console . log(0==' 0 ')//True console . log(false==' false ')//True console . log(false==' 0 ')//True,另一种是涉及undefined的条件判断,undefined和null的条件判断,可能会给你的代码留下印象。

var a=未定义;if(!a){ console . log(' 1 ');//1}var a=未定义;if(a===null){ console . log(' 1 ');//无输出}摘要

以上就是本文的全部内容。希望本文的内容能给你的学习或工作带来一些帮助。有问题可以留言交流。谢谢你的支持。

版权声明:Javascript中引用类型传递的知识点总结是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。