常用类——String,Number,Boolean
共性
三者是 string,number,boolean 三种基本数据类型对应的包装类。实际上,在创建一个基本数据类型时,系统会自动地在后台创建一个其对应的包装类型对象,这也是为什么可以使用基本数据类型调用方法的原因。
定义成基本数据类型后,不能为该变量定义属性和方法,只能使用系统自带的方法。
var s = 'thisisademo'
alert(s.substring(s.length-2)) // 调用系统的方法与属性,没有问题
s.name = 'name'
s.say=function(){
return 's.say'
}
alert(s.name) // undefined
alert(s.say()) //s.say is not a function
在定义时,s 是按基本数据类型进行定义。第一次 alert 时,s 调用的是系统的方法与属性;后面又为 s 新添加了自定义的属性与方法,但没有被识别。
也就是说 基本数据类型无法添加自定义的属性与方法。
但如果将 s 的定义改成为如下形式就可以了:
var s = new String('thisisademo') // 将 s定义成一个引用数据类型
String
常用属性
-
length : 返回字符串的长度
-
constructor:返回 String 的构造函数。
var n = 'fa'
var f = n.constructor;
var d = f('fdaaaa');
alert(d)
f 表示的是 String 的构造函数,所以执行 f 时,就相当于执行 String 的构造函数。
常用方法
- match() : 以数组形式返回字符串中能满足正则表达式的子串,如果没有就返回 null。
表达式 | 字符串 | 方法 | 结果 |
---|---|---|---|
/a2/i | A2fa2 | match | A2 |
/a2/ig | A2fa2 | match | A2,a2 |
使用匹配模式 i 指定了忽略大小写模式,所以可以匹配到 a2;第一个表达式中没有使用 g,所以匹配到第一个结果后就结果,而第二个使用了 g,所以会一直匹配到字符串结尾。
-
split() :将字符串切割,切割的地方必须满足正则表达式 。
-
replace(pattern,replacement) :用 replacement 代替满足 pattern 的子串。如果没有指定 g 模式,则只替换第一个。
-
search(pattern) :返回满足 pattern 表达式的子串的开始位置,如果没有就返回 -1。在此方法中,g 模式无用。
-
substring ,slice:当参数为正数时,截取子串,含头不含尾。当参数为负数时, substring 返回全部; slice 会从尾到头数参数个数个字符。
-
substr(n,m): 返回从 n 开始 m 个字符
-
charAt 与 charCodeAt :返回指定下标处的字符或字符对应的 ASCII 码值。
-
concat :将参数拼接到调用 concat 方法的字符串后面。
Boolean
没有特定的属性与方法
Number
- toFixed : 将数字保留小数点后指定位数 ( 位数不够补零 ),并转为 string:
var n = 423.4234949134
alert(n.toFixed(4)) // 423.4235