一、包装类型简介
Boolean、Number和String是三个基本类型,每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象 ,从而能够调用一些方法来操作这些数据。
可以调用内置方法
var box = 'Mr. Lee';//定义一个字符串
var box2 = box.substring(2);//截掉字符串前两位
alert(box2);//输出新字符串
尝试给基本类型创建属性和方法。
var box = 'Mr. Lee';
box.name = 'Lee';//无效属性
box.age = function () {//无效方法
return 100;
};
new运算符写法:
var box = new String('Mr. Lee');
box.name = 'Lee';//有效属性
box.age = function () {//有效方法
return 100;
};
以上字面量声明和new运算符声明很好的展示了他们之间的区别。但有一点还是可以肯定的,那就是不管字面量形式还是new运算符形式,都可以使用它的内置方法。并 且Boolean和Number特性与String相同,三种类型可以成为基本包装类型。
PS:在使用new运算符创建以上三种类型的对象时,可以给自己添加属性和方法,但建议不要这样使用,因为这样会导致根本分不清到底是基本类型值还是引用类型值。
二、Boolean类型
Boolean类型没有特定的属性或者方法。
三、Number类型
Number类型有一些静态属性(直接通过Number调用的属性,而无须new运算符)和方法。
Number静态属性
属性 |
描述 |
MAX_V ALUE |
表示最大数 |
MIN_V ALUE |
表示最小值 |
NaN |
非数值 |
NEGA TIVE_INFINITY |
负无穷大,溢出返回该值 |
POSITIVE_INFINITY |
无穷大,溢出返回该值 |
prototype |
原型,用于增加新属性和方法
|
Number对象的方法
方法 |
描述 |
toString() |
将数值转化为字符串,并且可以转换进制
|
toLocaleString() |
根据本地数字格式转换为字符串
|
toFixed() |
将数字保留小数点后指定位数并转化为字符串
|
toExponential() |
将数字以指数形式表示 ,保留小数点后指定位数并转化为字符串 |
toPrecision() |
指数形式或点形式表述数 ,保留小数点后面指定位数并转化为字符串 |
四、String类型
String对象属性
属性 |
描述 |
length |
返回字符串的字符长度 |
constructor |
返回创建String对象的函数 |
prototype |
通过添加属性和方法扩展字符串定义
|
方法 |
描述 |
charAt(n) |
返回指定索引位置的字符 |
charCodeAt(n) |
以Unicode编码形式返回指定索引位置的字符 |
字符串操作方法
方法 |
描述 |
concat(str1...str2) |
将字符串参数串联到调用该方法的字符串
|
slice(n,m) |
返回字符串 n 到 m 之间位置的字符串 |
substring(n,m) |
同上 |
substr(n,m) |
返回字符串 n 开始的 m 个字符串 |
PS:IE 的 JavaScript 实现在处理向 substr()方法传递负值的情况下存在问题,它会返回原始字符串,使用时要切记。
字符串位置方法
方法 |
描述 |
indexOf(str, n) |
从 n 开始搜索的第一个 str,并将搜索的索引值返回 |
lastIndexOf(str, n) |
从 n 开始搜索的最后一个 str,并将搜索的索引值返回 |
大小写转换方法
方法 |
描述 |
toLowerCase(str) |
将字符串全部转换为小写 |
toUpperCase(str) |
将字符串全部转换为大写 |
toLocaleLowerCase(str) |
将字符串全部转换为小写,并且本地化
|
toLocaleupperCase(str) |
将字符串全部转换为大写,并且本地化
|
字符串的模式匹配方法
方法 |
描述 |
match(pattern)
|
返回 pattern 中的子串或 null |
replace(pattern, replacement) |
用 replacement 替换 pattern |
search(pattern)
|
返回字符串中 pattern 开始位置 |
split(pattern)
|
返回字符串按指定 pattern 拆分的数组 |
其他方法
方法 |
描述 |
fromCharCode(ascii) |
静态方法,输出Ascii码对应值 |
localeCompare(str1,str2) |
比较两个字符串,并返回相应的值
|