搜索
写经验 领红包
 > 健康

js变量赋值规则(js的变量定义)

导语:正确理解JavaScript中的变量赋值

js变量赋值规则(js的变量定义)

今天就来深入了解下javascript中的变量赋值问题:

简单理解就是数字和字符串是复制,对象和数组是地址引用。但如果是引用,如果你对参数进行重新赋值的话,会改变参数引用的地址。函数外部的数组或者对象就不会被修改。

下面写几个例子,验证一下JS的变量赋值到底是怎样的。

此时,从上面的例子可以看出,虽然b的值加1,但是a的值没有改变,另外,c变量有一个字符串拼接过程,但d的值没有变化。从而说明数字和字符串类型的变量赋值就是复制过程。

下面再验证一下对象Object和数组Array变量的赋值

此时,从上面的例子可以得出一个结论,那就是对象Object类型与数组Array类型的变量赋值,是一个地址引用的过程。

接下来就是验证一下对参数进行重新赋值,是否会改变参数引用的地址,而函数外部的数组或者对象就不会被修改。

从上面两个例子的结果可以看出,数组Array类型的变量赋值的确是地址的引用,然后如果作为一个函数的参数被引用后被重新赋值了,那么函数外部的数组或者对象就不会被修改了,因而参数引用的地址发生了改变。如果引用的参数在函数内并不是赋值,而是修改参数里的某个属性的话,则参数引用地址不会发生变化,外部的变量属性值也会随之发生变化。

本文内容由快快网络小欣创作整理编辑!