基本包装类型

每当读取基本类型,后台会创建一个对应的基本包装类型的对象,从而让我们能够调用一些方法来操作这些数据。例子:

var s1 = "some text";
var s2 = s1.substring(2);
//以上过程在后台是类似以下面的方法实现
var s1 = new String("some text");    //创建String类型的一个实例
var s2 = s1.substring(2);     //在实例上调用指定方法
s1 = null;        //销毁这个实例

Object()函数会根据传入值的类型来返回基本包装类型的实例。如:

var obj1 = new Object("some text");        //String类
var obj2 = new Object(true);                    //Boolean类
var obj3 = new Object(9);                        //Number类

使用new调用基本包装类型的构造函数,与直接调用同名的转型函数是不一样的。

var value = 25;
var number = Number(value);        //转型函数
alert(typeof number);                     //"number"

var obj = new Number(value);        //构造函数
alert(typeof obj);                            //"object"

对基本包装类型调用typeof会返回“object”,而且所有基本包装类型的对象都会被转换为布尔值true。

 1 Boolean类型

Boolean类型容易造成误解,如:

var falseObject = new Boolean(false);
var result = falseObject && true;     //falseObject为Boolean对象,在布尔表达式中为true  
alert(result);            //true    

 

 2 Number类型

方法:

  • toFixed(n):按照指定的小数位返回数值的字符串表示(可以表示0-20个小数位的数值)
  • toExponential(n):返回以指数法表示的数值的字符串形式
  • toPrecision(n):按最合适的方法返回数值的字符串(可以表现1-21位小数)

 3 String类型

3.1 length属性:返回字符串的长度

3.2 字符方法

  • charAt(n) :以单字符字符串的形式返回给定位置的那个字符。
  • charCodeAt(n):返回给地位置的字符的字符编码。
  • [ n ]:可以用方括号加索引的方式返回字符。
    var   stringValue = "hello World";
    alert(stringValue.charAt(1));             //"e"
    alert(stringValue.charCodeAt(1));    //"101"
    alert(stringValue[1]);                       //"e" 

3.3 字符串操作方法

  • concat():将一个或多个字符串连接起来。
  • slice(),substring():接受一或两个参数,返回一个子字符串。第一个参数指定起始位置,第二个参数指定子字符串最后一个字符后面的位置。
  • substr():接受一或两个参数,返回一个子字符串。第一个参数指定起始位置,第二个参数指定返回字符串的个数。

  向以上方法传入负数的情况:

  • slice():会将传入的负值与字符串的长度相加;
  • substr():将负的第一个参数加上长度,第二个参数转换为0;
  • substring():会把所有负值转换为0

3.4 trim()方法:创建一个字符串副本,删除前置及后缀的所有空格

var stringValue = "     Hello World     ";
var trimmedStringValue = stringValue.trim();
alert(trimmedStringValue);        //"Hello World"
alert(stringValue);                    //"     Hello World     "

 

3.5 字符串大小写转换方法

转小写:

  • toLowerCase()
  • toLocaleLowerCase()

转大写:

  • toUpperCase()
  • toLocaleUpperCase()

3.6 字符串的模式匹配方法

  • match():只接受一个参数,要么是正则表达式,要么是RegExp对象。返回一个数组,数组的第一项是与整个模式匹配的字符串,之后每一项保存着与正则表达式捕获组匹配的字符串
  • search():接受一个参数,要么是正则表达式,要么是RegExp对象,并返回第一个匹配项的索引,没有找到匹配项返回-1。
  • replace():接受两个参数,第一个参数可以是RegExp对象或字符串,第二个参数是字符串或者函数。
    //第一个参数是字符串只会替换第一个匹配的字符串
    var text = "cat, bat, sat, qat";
    var result = text.replace("at", "ond");
    alert(result);         //"cond, bat, sat, qat"
    
    //第一个参数是正则表达式,且指定全局(g)标志,会替换所有匹配的子字符串
    result = text.replace(/at/g, "ond");
    alert(result);            //"cond, bond, sond, qond" 

     

3.7 localeCompare()方法   

  比较两个字符串,并返回下列值中的一个:

  • 字符串在字母表中排在字符参数前,返回正数
  • 等于字符串参数,返回0
  • 排在字符串参数之后,返回负数
    function determineOrder(value) {
        var result = stringValue.localeCompare(value);
        if (result < 0)
            doSomething();
        else if (result > 0)
            doSomething();
        else
            doSomething;
    }

     

 3.8 fromCharCode()

 接收一个或多个字符编码,然后转换成字符串。

alert(String.fromCharCode(104, 101, 108, 108, 111));        //"hello"

 

posted @ 2017-08-17 13:47  chen_zed  阅读(92)  评论(0)    收藏  举报