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