JavaScript中的值类型与引用类型
数据类型 | 值/引用类型 | 备注 |
---|---|---|
undefined | 值类型 | 无值 |
number | 值类型 | |
boolean | 值类型 | |
string | 值类型 | 字符串在赋值运算中会按照引用类型的方式来处理 |
function | 引用类型 | |
object | 引用类型 |
补充:值类型 Null 引用类型:Array
声明变量类型
当您声明新变量时,可以使用关键词 "new" 来声明其类型:
var carname=new String; var x= new Number; var y= new Boolean; var cars= new Array; var person= new Object;
在JavaScript中,“全等(===)运算符”用来对值类型/引用类型的实际数据进行比较和检查。按照约定,基于上述类型系统的运算中(以下所谓“值”,也包括undefined):
- 一般表达式运算的结果总是值
- 函数/方法调用的结果可以返回值或者引用
- 值与引用、值与值之间即使等值(==),也不一定全等(===)
- 两个引用之间如果等值(==),则一定全等(===)
从表面上来看,一个值应该与其自身“等值/全等”。但事实上,在JavaScript中存在一个例外:一个NaN值,与其自身并不等值,也不全等。
举几个栗子:
- 1
- 2
- 3
- 4
- 5
- 6
两种类型在函数调用时的区别
JavaScript中的值类型与引用类型,同其他通用高级语言一样,表达的含义是数据在运算时的使用方式:参与运算的是其值亦或其引用。因此在下面的示例中,不同的值类型通过相同的函数调用之后输出的是不同的结果。