版权声明:本文为博主原创文章,若文章中有错误请联系博主改正,请不要恶意留言(不喜欢请绕道)。欢迎大家转载,转载时请注明原文地址:https://blog.csdn.net/qq_37674616/article/details/82384945
目录
基本包装类型
ECMAScript提供了3个特殊的引用类型:Boolean、Number、String
基本包装类型与引用类型的主要区别是对象的生命周期。使用new操作符创建的引用类型的实例,在执行流离开当前作用域之前都一直保存。而自动创建的基本包装类型的对象则只存在于一行代码。
var s1=new String('hello world');
s1.name="cc";
console.log(s1.name); //undefiend
基本包装类型的构造函数与转型函数:
var vlaue="25";
var number=Number(value) //转型函数
console.log(typeof number); //"number"
var obj=new Number(value); //构造函数
console.log(typeof obj); //"Object"
Boolean类型
Boolean类型的实例重写了valueOf()方法,返回true或者false;重写了toString()方法,返回字符串"true"和"false"
var falseObject=new Boolean(false);
var result=falseObject && true //true
var falseValue=false;
result= falseValue && true //false
**:布尔表达式中所有对象都会转换成true
Number类型
Number类型重写了valueOf、toLocaleString()和toString()方法。valueOf()方法返回对象表示的进本类型的数值。另外两个方法返回字符串形式的数值。
属性
Number.MAX_VALUE //javaScript中可表示的最大的数
Number.MIN_VALUE //javaScript中可表示的最小的数
Number.NAN //表示非数字 相当NaN
Number.prtotype //表示构造函数的原型
原型中方法
toFixed()
参数
可选的。小数点后出现的位数.[0-20]之间的值,如果省略则视其为0
返回值
按指定的小数位返回的数值的字符串
使用
var num=1234.678;
num.toFixed(); //Returns '1234'
num.toFixed(1); //Returns '1234.7'
num.tofiexd(3); //Reutrns '1234.678'
toExponential()
参数
可选的。一个整数,指定小数点后的位数。默认为指定数字所需要的位数
返回值
以指数表示法表示给定对象的字符串。
运用
var num=77.123
console.log(num.toExponential()); //7.7123e+1
console.log(num.toExponential(3)); //7.7123e+1
toPrecision()
参数
可选的。一个整数,指定有效为数。
返回值
表示数值定点或指数表示法对象的字符串
运用
var num=5.123456;
console.log(num.toPrecision()); //'5.123456'
console.log(num.toPrecision(1)); //'5'
console.log(num.toPrecision(5)); //'5.1235'
console.log(0.01.toPrecision(2)); // '0.010'
关于其它方法请到js-概念中Number类型
String类型
String对象的方法也可以在所有基本的字符串值中访问。其中继承的ValueOf()、toLocalString()、toString()方法,都返回对象所表示的基本字符串值。
属性
String.prototype //属性表示String原型对象
String.length //以UTF-16代码单位表示字符串长度
原型中方法
charAt()
以单字符串的形式返回给定位置的那个字符,如果超出索引则返回空串
参数
一个介于0小于字符串长度的整数。如果没有提供则默认是0即第一个字符
返回值
以单字符串的形式返回给定位置的那个字符
用法
var s='hello world';
console.log(s.charAt()); //'h'
console.log(s.charAt(3)); //'l'
console.log(s.charAt(11)); //''
charCodeAt()
该方法返回给定索引处字符的UTF-16代码的单元值的数字,如果超出范围返回NaN
参数
大于或等于0且小于字符串长度的整数; 如果它不是数字,则默认为0
返回值
表示给定索引处字符的UTF-16代码单元值的数字,如果超出索引返回NaN
var s='aBA';
console.log(s.charCodeAt()); //97
console.log(s.charCodeAt(1)); // '66'
console.log(s.charCodeAt(3)); // NaN
indexOf()
返回第一次出现的指定值的调用对象内的索引,如果未找到返回-1
参数
表示要搜索的值的字符串
第二个参数可选,表示开始搜索的索引默认值是0
返回值
第一次出现的索引值,没有找到返回-1
空字符串返回0到开始搜索索引的(该值大于0小于str.length)
用法
var str='hello world';
console.log(str.indexof('hello')); //0
console.log(str.indexof('l')); //2
console.log("".indexof('l',3)); //3
console.log(str.indexof('')); //0
console.log(str.indexof('',4)); //4
console.log(str.indexof('',12)); //11
lastIndexOf()
返回指定值的最后一次出现的调用对象内的索引,如果未找到返回-1
参数
表示要搜索的值的字符串
第二个参数可选,表示字符串中最后一个字符的索引。
返回值
第一次出现的索引值,没有找到返回-1
用法
var str='hello world';
console.log(str.lastIndexOf('hello')); //0
console.log(str.lastIndexOf('l')); //9
console.log("".lastIndexOf('l',3)); //3
console.log("".lastIndexOf('l',1)); //-1
console.log(str.lastIndexOf('')); //11
console.log(str.lastIndexOf('',4)); //4
console.log(str.lastIndexOf('',12)); //11
subString()
返回在字符串中指定两个下标之间的字符。
参数
第一个参数,一个0到字符串长度之间的整数。
第二个参数,可选,一个0到字符串长度之间的整数
**:如果第一个参数大于二个参数,则执行效果就像两个参数调换一样。如果参数中任意一个为负数则当在0来处理。
返回值
提取第一个参数到第二个参数(不包括)之间的字符、
用法
var s="hello world";
console.log(s.substring(0,3)); //'hel'
console.log(s.substring(3,0)); //'hel'
console.log(s.substring(-1,3));//'hel'
console.log(s.substring(3,3)); //''
substr()
该方法返回一个字符串从指定位置开始到指定字符数的字符。
参数
第一个参数,开始提取字符的位置。如果是负值则被看作(strLength+start),其中strLength为字符串的长度
第二个参数,可选,提取的字符数。如果为0或负数则返回空串。
返回值
返回提取的字符串
用法
var s="hello world";
console.log(s.substr(0,3)); //'hel'
console.log(s.substr(3,0)); //undefined
console.log(s.substr(-1,3));//'d'
console.log(s.substr(3,3)); //'lo '
console.log(s.substr(3,-3)); //''
slice()
提取一个字符串区域,返回一个新的字符串。
参数
第一个参数,开始索引位置,如果为负数会被当做(字符串长度+开始值)
第二个参数,可选。从该索引处结束提取字符串(但不包括该索引值)。如果为负数会被当做(字符串长度+开始值)
返回值
返回一个从原字符串中提取出来的新字符串
用法
var s="hello world";
console.log(s.slice(0,3)); //'hel'
console.log(s.slice(3,0)); //''
console.log(s.slice(-1,3));//''
console.log(s.slice(3,3)); //''
console.log(s.slice(3,-3)); //'lo wo'
split()
该方法使用指定的分隔符字符串将一个String对象分割成字符串数组,以将字符串分割成子字符串。
参数
第一个参数,指定表示每个拆分应发生的点的字符串,如果分隔符为空字符串,则str原字符串中每个字符以数组形式返回。
第二个参数,可选。一个整数,限定返回的分隔片段数量。
返回值
返回源字符串以分隔符出现位置分割而成的一个Array
使用
var s="tody is good day";
sonsole.log(s.split(" "));// ["tody", "is", "good", "day"]
sonsole.log(s.split(" ",2));// ["tody", "is"]
replace()
该方法返回一个由替换值替换一些或所有匹配的模式后代的新字符串。模式可以是字符串或者一个正则表达式。
参数
第一个参数,为模式或者一个要被替换的字符串
第二个参数,为替换掉第一个参数在原字符串中的匹配部分的字符串。或者是一个而创建新字符串的函数。
返回值
一部分或全部匹配由代替模式所取代的新字符串
应用
var re=/cc/ig;
var str="my name is cc,cc is my name";
str.replace(re,"wgs");
console.log(str); //"my name is wgs,wgs is my name"
console.log(str.replace("cc","wgs"));//"my name is wgs,cc is my name"
repeat()
构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本。
参数
介于0和正无穷大之间的整数[0,+00]。表示在新构造的字符串中重复可多少遍原字符串
返回值
包含指定字符串的指定数量副本的新字符串
应用
var s="hello";
console.log(s.repeat(-1));//RangeError: Invalid count value
console.log(s.repeat(0)); //""
console.log(s.repeat(1)); //"hello"
console.log(s.repeat(2.5));//"hellohello"
console.log(s.repeat(1/0));//RangeError: Invalid count value
search()
该方法执行正则表达式和String对象之间的一个搜索匹配
参数
一个正则表达式对象。如果传入的是一个非正则表达式会隐式将其转换为正则表达式对象
返回值
如果成功匹配,则返回首次匹配的索引,否则返回-1
应用
var s="hello world";
console.log(s.search('h')); //0
console.log(s.search(/\q/); //-1
toLocaleLowerCase()
根据任何特定于语言环境的案例映射,返回调用字符串值转换为小写。该方法不会影响原值
返回值
将表示调用字符串的新字符串转换为小写
应用
var s="中国 zh-CN";
console.log(s.toLocaleLowerCase()); //"中国 zh-cn"
toLocaleUpperCase()
根据任何特定于语言环境的案例映射,返回调用字符串值转换为大写。该方法不会影响原值
返回值
将表示调用字符串的新字符串转换为小写
应用
var s="中国 zh-CN";
console.log(s.toLocaleUpperCase()); //"中国 ZH-CN"
toLowerCase()
返回调用字符串值转换为小写。该方法不会影响原值
返回值
一个新的字符串
用法
var s="中国 zh-CN";
console.log(s.toLowerCase()); //"中国 zh-cn"
toUpperCase()
返回调用字符串值转换为大写。该方法不会影响原值
返回值
一个新的字符串
用法
var s="中国 zh-CN";
console.log(s.toLowerCase()); //"中国 ZH-CN"
trim()
这个方法创建一个字符串的副本,删除前置及后缀的所有空格,然后返回结果。不影响原字符串。
返回值
一个新的字符串
用法
var org=' org ';
console.log(org.trim());//'org'