关于js基本类型string

  在js中,变量没有类型,数据有类型的,js的数据类型分为两类,1. 基本数据类型  (Undefined  ,  Null  , Boolean  , Number , Infinity , Nan , string )  2. 引用类型( object  )  .。为什么第一种数据类型叫基本数据类型,而不叫值类型,因为string比较特殊。string的定义是引用类型的,但其操作是值类型,即定义一个变量x,将字符串“abc”赋值到x中,这时x指向“abc”数组的首地址,当将x赋值给y时,也是将数组的首地址赋值给y,这样堆中的数据未改变,x和y同时指向堆中的数组首地址,而当要修改y的值时,也就是通过y修改数组时,堆里会在申请一个空间,将原来的值copy进去再新修改数组值,修改过后,通过x访问的是未修改的字符串数组,通过y访问的是修改过的字符数组,所以说,string定义是引用类型,操作时就当值类型用。

原文地址:https://www.cnblogs.com/medlar/p/3973084.html