ES具有引用类型,只有“object”和“function”是引用类型,其他类型是值类型。
根据JavaScript中的变量类型传递方法,它可以分为**值类型**和**引用类型**。值类型变量包括Boolean、String、Number、Undefined和Null。
引用类型包括所有对象类,如Date、Array、Function等。对于参数传递方法,值类型按值传递,引用类型按共享传递。
值类型
var a = 10
var b = a
b = 20
console.log(a) // 10
console.log(b) // 20
上述代码中,`a` `b`都是值类型,两者分别修改赋值,相互之间没有任何影响。
引用类型
var a = {x: 10, y: 20}
var b = a
b.x = 100
b.y = 200
console.log(a) // {x: 100, y: 200}
console.log(b) // {x: 100, y: 200}
在上述代码中,“a”和“b”是引用类型。执行“b=a”后,修改“b”的属性值,“a”的值也将更改。因为“a”和“b”都引用相同的内存地址,也就是说,它们引用相同的值,所以当“b”修改属性时,“a”的值会相应地更改。
转载请注明:IT运维空间 » linux » js中值类型的详细说明
发表评论