javascript学习13:基本包装类型

为了便于操作“基本类型值”,JS 提供了 三个 特殊的引用类型:Boolean、Number、String。这些类型和其他引用类型相似,但同时 也具备 与各自基本类型相应的特殊行为。 实际上:每当读取一个基本类型值的时候, “后台就会创建一个 对应的基本包装类型的对象”,从能能够调用一些方法来操作这些数据。

下面讲述一下比较常用的方法

Number对象的方法

toString:将数值转化为字符串,并且可以转换进制。

toLocaleString():根据本地数字格式转换为字符串

toFixed() : 将数字保留小数点后指定位数并转化为字符串

toExponential():将数字以指数形式,保留小数点后,指定位数并转化为字符串

toPrecision() : 指数形式或点形式表述数,保留小数点后年指定位数并转化为字符串

String方法

下面的方法经常会出现在各种前端开发面试和笔试的过程中,虽然不难,但是掌握好了,更加方便你随心所欲的操作字符串的内容。后面将会给出本人经常遇到的一些前端开发面试试题。

charAt(n):返回指定索引位置的字符

charCodeAt(n):以Unicode编码返回指定位置索引

字符串操作方法

concat(str1,str2,……):将字符串参数串联到调用该方法的字符串中

slice(n,m) 返回字符串n到m之间的字符串

substring(n,m) 同上

substr(n,m) 返回字符串n开始的m个字符串

分析:alert(box.substring(2))

//对象.方法(参数),这种写法明显是引用类型的写法,索引从0开始,从第2个位置开始截取,是基本类型,但又是特殊的引用类型,基本包装类型,因为它可以调用系统内置的方法。

上面这三个,当三个都只有一个参数,所得到的内容一样。即var a = 'caibaojian', a.slice(n) = a.substring(n) == a.substr(n);

当里面的参数n或者m小于0时的改变

a.slice(-2); length+(-2) = 10+2 = 8,第8位开始

a.substr(-2) 同上

a.substring(-2); 负数返回全部字符串

a.slice(2,-1); 10+(-1) = 9 (2,9);

a.slice(-2,-1); 10+(-2) = 8; 10+(-1) =9 (8,9);

a.substring(2,-1); 如果为负数,直接0,(2,0),第二个参数提前:a.substring(0,2);

a.indexOf('j') 返回从初始位置搜索j第一次出现的位置,从0开始,输出6

a.lastIndexOf('j') 返回从末尾位置搜索j第一次出现的位置,输出3

indexof里面还可以加第二个参数。

console.log(a.lastIndexOf('a',5)); //*从第五个位置开始向前搜索a第一次出现的位置,输出4
console.log(a.indexOf('a',7)); //从第五个位置开始搜索a第一次出现的位置,输出8.
//*使用循环输出一个字符串中指定字符的所有位置
var boxarr = [];
var pos = a.indexOf('a');
while(pos>-1){
boxarr.push(pos);
pos = a.indexOf('a',pos+1);
}
alert(boxarr);
//大小写转换
var box = 'Mr.lee';
//alert(box.toLowerCase()); //小写,mr.lee
//alert(box.toUpperCase()); //大写,MR.LEE
//alert(box.toLocaleLowerCase()); //小写,并且本地化
//alert(box.toLocaleUpperCase()); //大写,并且本地化
//字符串的模式匹配方法
var box = 'Mr.Lee is Lee';
alert(box.match('L')); //找到L,返回L,否则返回null
alert(box.search('L')); //找到L的位置,和indexOf类似
alert(box.replace('L','Q')); //把L替换成Q
alert(box.split(' ')); //将空格分开处取出来分割成字符串

 

 

「五年博客,如果觉得我的文章对您有用,请帮助本站成长」

订阅周报 关注微博

原创文章:javascript学习13:基本包装类型 ,未经许可,禁止转载,©版权所有
原文出处:前端开发博客 (http://caibaojian.com/basic-type-and-method.html)

发表评论

请登录后发表评论: