JavaScript的基本类型值-String类型
大致介绍
String类型用于表示由零或多个16位Unicode字符组成的字符序列,即字符串。在JavaScript中没有单个的字符型,都是字符串。字符型就相当于只包含一个字符的字符串。
引号
字符串可以由双引号(“”)或单引号(‘')表示,但是要注意,如果是双引号开始就要以双引号结束,单双引号是可以嵌套的
"hello";//正确
'hello';//正确
'hello";//错误
"hel'l'o";//正确
转义字符
String数据类型包含一些特殊的字符字面量,也叫转义序列,用于表示非打印字符,或者具有其他用途的字符。
\0空字节
\n换行
\t制表
\b空格
\r回车
\f进纸
\\斜杠
\'单引号
\"双引号
\xnn以十六进制nn表示一个字符(n为0-f),如\x41表示'A'
\unnnn以十六进制nnnn表示一个Unicode字符(n为0-f),如\u03a3表示希腊字符ε
如果在非特殊转移字符前使用反斜杠,则反斜杠会被忽略
'\a'//"a"
如果字符串需要包含反斜杠,则需要在反斜杠前面在多加一个反斜杠用来转义
'\\a'//"\a"
特点
JavaScrit中的字符串是不可变的,也就是说,字符串一旦被创建,他们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后在用另一个包含新值得字符串填充改变量
例如:
varalang='Java'; lang=lang+'Script';
以上代码的执行过程:首先创建一个能容纳10个字符的新字符串,然后在这个字符串中填充“Java”和“Script”,最后一步将原来的字符串“Java”和“Script”销毁
字符串与数组
字符串可以被视为字符数组,因此可以使用数组的方括号运算符,用来返回某个位置的字符(位置编号从0开始)。
vars='hello';
s[0]//"h"
s[1]//"e"
s[4]//"o"
//直接对字符串使用方括号运算符
'hello'[1]//"e"
如果方括号中的数字超过字符串的长度,或者方括号中根本不是数字,则返回undefined。
'abc'[3]//undefined
'abc'[-1]//undefined
'abc'['x']//undefined
但是,字符串与数组的相似性仅此而已。实际上,无法改变字符串之中的单个字符。
vars='hello'; deletes[0]; s//"hello" s[1]='a'; s//"hello" s[5]='!'; s//"hello"
length属性
length属性返回字符串的长度,这个属性也是无法改变的
vars='hello'; s.length//5 s.length=3; s.length//5
转为字符串
要把一个值转换为字符串有两种方式:toString()和String()
注意:空字符串""+值,也可以将该值转为字符串
toString()
几乎每个值都有toString()方法,这个方法唯一要做的就是返回相应值得字符串表现
注意:null和undefined没有这个方法
undefined.toString();//错误 null.toString();//错误 true.toString();//'true' false.toString();//'false' 'abc'.toString();//'abc' 1.23.toString();//'1.23' ({}).toString();//[objectObject] [1,2,3,4].toString();//'1,2,3,4' (newDate()).toString();//"SunJun05201610:04:53GMT+0800(中国标准时间)" /ab/i.toString();//'/ab/i'
还可以通过指定基数,来改变输出的值(基数默认是十进制)
varnum=10; console.log(num.toString());//10 console.log(num.toString(2));///1010 console.log(num.toString(8));//12
String()
String()能将任何类型的值转换为字符串,包括null和undefined
转换规则:
1、如果值是null,则返回'null';如果值是undefined,则返回'undefined'
2、如果值不是null或undefined,则调用toString()方法并返回原始类型值
3、若使用toString()方法返回的是对象,则再调用valueOf()方法返回原始类型值,若使用valueOf()方法返回的是对象,会报错
String(null)//"null" String(undefined)//"undefined" String(true)///"true" String({toString:function(){return3}});//3
以上所述是小编给大家介绍的JavaScript的基本类型值String类型,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!