javascript基本包装类型
三种基本包装类型:Boolean类型,Number类型,String类型
字面量声明方式和new声明方式;
1 Boolean类型:无特定的属性或方法;
2 Number类型:
1)静态属性(直接调用无须new运算符)
MAX_VALUE:最大值;MIN_VALUE:最小值。NaN:非数字。
NEGATIVE_INFINITY:负无穷大,超过返回该值;POSITIVE_INFINITY:无穷大,超过返回该值。
prototype:原型,用于增加新的属性和方法。
console.log(Number.MAX_VALUE); //1.7976931348623157e+308
console.log(Number.MIN_VALUE); //5e-324
console.log(Number.NaN); //NaN
console.log(Number.NEGATIVE_INFINITY); //-Infinity
console.log(Number.POSITIVE_INFINITY); //Infinity
Number.prototype.age=1;
var number=new Number();
console.log(number.age) //1
2)Number对象的方法:
toString():将数值转化为字符串,并且可以转化进制。
toLocaleString():根据本地数字转化为字符串;
tofixed():将数字保留指定位数,转化为字符串;
var number=1200100;
console.log(number.toString(8)); //4447744 以8进制输出,不传参默认十进制
console.log(number.toLocaleString()); //1,200,100
console.log(number.toFixed(2)); //1200100.00
3 String类型:
3个属性:
length:返回字符串的字符长度;
constructor:返回创建String对象的函数;
prototype:通过添加属性方法扩展字符串定义;
var str='1234';
console.log(str.length); //4
console.log(str.constructor); //function String()
String.prototype.age=1; //添加属性
console.log(str.age) //1
内置方法:
1 字符方法:
charAt(n):返回指定位置索引的字符;
charCodeAt(n):以unicode编码形式返回指定位置的索引。
var str='abcd';
console.log(str.charAt(0)); //a
console.log(str.charCodeAt(0)); //97
2 字符串操作方法:
concat(str1...strr2):将字符串参数串联到调用该方法的字符串;
var str='abcd';
console.log(str.concat('efg')); //abcdefg
console.log(str); //abcd
slice(n,m):返回字符串n到m之间位置的字符串;
var str='abcd';
console.log(str.concat('efg')); //abcdefg
console.log(str.slice(0,1)); //a
console.log(str.slice(-1)); //d
console.log(str.slice(1,-1)); //bc
console.log(str.slice(-3,-1)); //bc
console.log(str); //abcd
负数表示从后面开始数。substring(n,m):同上;
var str='abcd';
console.log(str.substring(0,1)); //a
console.log(str.substring(0)); //abcd
console.log(str.substring(1,-1)); //a 第二个为负数直接转正,把较小的数字提前
console.log(str.substring(-1)); //abcd 负数返回所有
console.log(str) //abcd
substr(n,m):返回从n位置开始的m个字符串。
var str='abcd';
console.log(str.substr(0,1)); //a
console.log(str.substr(-1)); //d
console.log(str.substr(-1,1)) //d
console.log(str) //abcd
第二个参数为负直接转03 字符串位置方法:
indexOf(str,n):从n位置开始搜索的第一个str,返回索引值;
lastIndexOf(str,n):从n开始搜索的最后一个str,返回索引值;
var str='abcdb';
console.log(str.indexOf('b')); //1
console.log(str.indexOf('b',0)); //1
console.log(str.indexOf('b',1)); //1
console.log(str.indexOf('b',2)); //4
console.log(str.indexOf('f',1)); //-1
console.log(str.lastIndexOf('b')); //1
console.log(str.lastIndexOf('b',1));//1
console.log(str.lastIndexOf('f',1));//-1
如果没有找到返回-1;
查找指定所有字符:
var str='Mr.Lee is Lee';
var strarr=[];
var pos=str.indexOf('L');
while(pos>-1){
strarr.push(pos);
pos=str.indexOf('L',pos+1);
}
console.log(strarr)
4 大小写转化方法:
toLowerCase():将字符串转化为小写;
toUpperCase():将字符串转化为大写;
toLoCaleUpperCase():将字符串转化为大写,并且本地化;
toLoCaleLowerCase():将字符串转化为小写,并且本地化。
var str1='abcd';
var str2='ABCD';
console.log(str1.toLowerCase()); //abcd
console.log(str2.toUpperCase()); //ABCD
console.log(str1.toLocaleLowerCase()); //abcd
console.log(str2.toLocaleUpperCase()); //ABCD
5 字符串的模式匹配方法:
match(pattern):返回pattern中的子串或null;
replace(pattern,replacement):用replacement替换pattern;
search(pattern):返回字符串中pattern的开始位置;
split(pattern):返回字符串按指定pattern拆分的数组。
var str='abcd';
var pattern='b';
console.log(str.match(pattern)); //['b']
console.log(str.replace(pattern,'AB'));//[aABcd]
console.log(str.search(pattern)); //1
console.log(str.split(pattern)); //['a','cd']
6 其它方法:
fromCharCode(ascii):返回Ascii对应值;
localeCompare(str1,str2):比较两个字符串,并返回相应的值;
console.log(String.fromCharCode(76)); //L