js中字符串概念

字符串概念:所有带单引号和双引号的叫做字符串
字符串的数据类型:字符串既是基本数据类型,又是复合数据类型。
字符串存储在内存里【只读数据段】的地方。字符串的变量里存储的是字符串的地址。
【注】使用起来没有任何区别。
【注】字符串一旦被声明,就没有办法被修改。如果你要修改字符串,只能销毁重新复制。
*/


字符串声明方法


/*//1、通过new声明 参数可以是任意数据类型,最终生成字符串

var str1 = new String(1000);
alert(typeof str1); //object

//2、可以省略new运算符

var str2 = String("heloo");
alert(typeof str2); //string

//3、直接通过字符串常量赋值 用第三种比较多,第三种方便

var str3 = "hello world";
alert(typeof str3); //string

var num = 10;
var arr = [1, 2, 3];
var str = "hello";
str = "xx";*/


/*
字符串属性
字符串.length
【注】输出字符串中字符的个数,计数的时候一个汉字,相当于一个字符。

【注】utf-8编码里面 通过3个字符表示一个汉字。

返回字符串中字符
我们可以通过下标的方式访问
str[0]
*/

var str = "hel我l";
alert(str.length);// 5

var str = "hel我l";
alert(str[1]);// e
str[1] = "x"; //修改e为x 
alert(str);// hel我l   修改失败 说明字符串不能被修改

因为字符串的存取也是一种引用的方式。

如下图:

 程序运行段str 是一个字符串变量,它里面的字符存到了内存中的一个   支付数据段  里, 成语运行段里的变量 str 里面只存地址(888) 指向 只读数据段存的 具体字符串(hello)。

所以不能修改。

原文地址:https://www.cnblogs.com/taohuaya/p/9547676.html