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(‘ ‘)); //将空格分开处取出来分割成字符串

 

 


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流