ECMAScript提供了三个特殊的引用类型:Boolean、Number和String。
String类型==> var stringObject = new String("hello world");
Booleab类型==> var booleanObject = new Boolean(true);
Number类型==> var numberObject = new Number(10);
注!!! 加new 创建的是对象object,不加new创建的是基本类型。
例子:(下述方法三个步骤同样适用于Boolean和Nunber类型对应的布尔值和数字值)
var s1 = "some text";
var s2 = s1.substring(2); //后台对这行代码自动进行了一系列的处理,从而使其具有对象的方法
后台自动完成的处理:
step1:创建String类型的一个实例 ==>var s1 = new String("some text");
step2:在实力上调用指定的方法 ==>var s2 = s1.substring(2);
step3:销毁这个实例 ==>s1 = null;
注:使用new调用基本包装类型的构造函数,与直接调用同名的转型函数是不一样的。
Boolean类型:(永远不要使用Boolean对象!!!)
Number类型:(仍然不建议直接实例化Number类型,而原因与显示创建Boolean对象一样)
方法:toString() toFixed() toExponential() toPrecision()(这三个方法都可以通过向上或向下舍入,做到以最准确的形式来表示带有正确小数位的值)
==>toString()方法传递一个表示基数的参数,告诉它返回几进制的字符串形式
==>toFixed()按照指定的小数位返回数值的字符串表示
==>toExponential()返回以指数表示法(也称e表示法)表示的数值的字符串形式。
==>toPrecision()是上述二者方法的综合体,即可以根据要处理的数值决定到底是调用toFixed()还是调用toExponential()方法
String类型:
属性:length (用于表示字符串中包含多少个字符)
方法:charAt() charCodeAt() concat() slice() substr() subString() indexOf() lastIndexOf() trim() toLowerCase() toLocalLowerCase() toUpperCase() toLocalUpperCase() match() search() replace() split() localCompare() fromCharCode()
==》字符方法:
==>charAt()以单字符字符串的形式返回给定位置的那个字符
==>charCodeAt()同上一样,但其获取的是该单字符的字符编码
==》字符串操作方法:
==>concat()用于将一个或多个字符串拼接起来,返回拼接得到的新字符串(其可以接收任意多个参数)
在实践中,使用更多的还是加好操作符(+)!!!
==>slice()、substr()、subString()三者在大多数情况下的结果都是相同的,但当传递的参数是负值情况下,它们的行为就不尽相同了!!!
==》字符串位置方法:两个方法都是从一个字符串中搜索给定的子字符串,然后返回子字符串的位置(如果该子字符串不存在,则返回-1),下述二者只是搜索的方向不同
==>indexOf()(方向从左到右)
==>lastIndexOf()(方向从右到做)
==》trim()方法创建一个字符串副本,删除前置及后缀的所有空格,然后返回结果。
==》字符串大小写转换方法
==>toLowerCase()
==>toLocalLowerCase()
==>toUpperCase()
==>toLocalUpperCase()
==》字符串的模式匹配方法:
==>match() 在字符串上调用这个方法,本质上与调用RegExp的exec()方法相同。(其只接受一个参数:要么是一个正则表达式,要么是一个RegExp对象)
==>search() 与match()方法的参数相同,其返回的是字符串中第一个匹配项的索引
==>replace()
这个方法接两个参数:第一个参数可以是一个RegExp对象或者一个字符串(这个字符串不会被转换成正则表达式),第二个参数可以是一个字符串或者一个函数。
如果第二个参数是一个函数:在只有一个匹配项(即与模式匹配的字符串》的情况下,会向这个函数传递3个参数:模式的匹配项、模式匹配项在字符串中的位置和原始字符串。
==>split() 这个方法可以给予指定的分隔符将一个字符串分割成多个子字符串,并将结果放在一个数组中。分隔符可以是字符串,也可以是一个RegExp对象(这个方法不会将字符串看成正则表达式)
==》localCompare() 方法用于比较两个字符串谁在字母表中的先后顺序
==》fromCharCode()方法接收一或多个字符编码,然后将它们转换成一个字符串。(相当于charCodeAt()方法的相反操作)