美文网首页程序员
基本包装类型

基本包装类型

作者: BlueBeginner | 来源:发表于2016-10-20 19:53 被阅读0次

    基本包装类型
    为了便于操作基本类型值,ECMAScript还提供了3个特殊的引用类型:Boolean,Number和String.这些类型与其他引用类型相似,但同时也具有各自的基本类型相应的特殊行为。
    1.基本包装类型概念与Bollean,Number类型
    (1)每当读取一个基本类型值的时候,后台就会自动创建一个对应的基本包装类型的对象。而且,此对象只存在于一行代码的执行瞬间,然后立即被销毁。
    (2)把字符串,数字,布尔值传给构造函数会得到对应的实例。对基本包装类型的实例调用typeof会返回“object”。要注意,使用new操作符调用基本类型的构造函数,与直接调用同名的转型函数是不一样的。
    (3)Boolean类型:需要注意的是,使用构造函数创建布尔的对象进行布尔运算时,对象都会被转换为true。
    (4)Number类型:toString()将数字转换成字符串,接收一个参数,告诉它返回几进制 toFixed()会按照指定的小数位返回数值的字符串表示,并且会自动舍入
    toExponential()返回以指数表示法表示的字符串形式,参数决定小数位 toPrecision()自动调用适合的方法

    /*var s1="some text";
    var s2=s1.substring(2);         //基本包装类型也有方法
    
    var s1=new String("some text");
    var s2=s1.substring(2);
    s1=null;                         //可以这样理解为什么基本类型会有方法
    s1.color="red";
    alert(s1.color);                 //自动创建的基本包装类型对象只存在于代码创建的一瞬间,undefined*/
    
    var value="25";
    var number=Number(value);
    alert(typeof number);            //number
    var obj=new Number(value);
    alert(typeof obj);               //object
    /*把字符串,数字,布尔值传给构造函数就会创建相应的实例,对基本包装类型的实例调用typeof会返回object*/
    
    /*Boolean类型*/
    var falseObject=new Boolean(false);
    var result=falseObject&&true;
    alert(result);                   //true
    var falseValue=false;
    result=falseValue&&true;
    alert(result);                   //false
    
    /*Number类型*/
    var num=10;
    alert(num.toString());//"10"
    alert(num.toString(2));//"1010"
    alert(num.toString(8));//"12"
    
    alert(num.toFixed(2));//10.00此方法还会四舍五入
    
    var num=99;
    alert(num.toPrecision(1));//"1e+2"
    alert(num.toPrecision(2));//"99"
    alert(num.toPrecision(3));//"99.0"
    

    2.基本包装类型--String类型
    (1)字符方法:charAt()返回对应参数位置的字符 charCodeAt()返回对应字符的编码 ECMAScript5支持使用方括号来访问字符串中的特定字符
    (2)字符串操作方法:concat()与Array的一样,往字符串后添加多个字符串
    slice():接收两个参数,第一个参数指定开始位置,第二个参数指定到哪里结束,当参数有负数时,此方法会将传入的负数与字符串的长度相加
    substring():接收两个参数,第一个参数指定从哪里开始,第二个参数指定从哪里结束。当有负数时,此方法会把所有的负数都变成0,另外substring(3,0)==substring(0,3)
    substr():接收两个参数,第一个指定从哪里开始,第二个参数指定返回的字符串的个数。当有负数时,此方法会负的第一个参数加上字符串的长度
    (3)位置方法indexOf()和lastIndexOf(),利用这两种位置方法,可以找到所有匹配的字符,并返回位置
    (4)trim():删除字符串前后的所有空格
    (5)大小写转换toLowerCase()和toUpperCase()
    (6)match()与replace()方法都与正则表达式联合起来使用,match()联合正则,将匹配到的字符转换成数组返回。replace()顾名思义,替换匹配到字符。
    (7)localeCompare()比较俩个字符串
    (8)fromCharCode()接收多个字符编码,然后将它们转换成字符串

    var stringValue="hello world";
    alert(stringValue.charAt(1));  //"e"相应位置的字符
    
    alert(stringValue.charCodeAt(1));//"101"字符的编码
    
    var stringValue="hello ";
    var result=stringValue.concat("world");
    alert(result);  //"hello world" 与数组的concat方法一样
    
    /*利用两种位置方法,找到所有匹配的字符,并返回位置*/
    var stringValue="Lorem ipsum dolor sit amet,consectetur adipisicing elit";
    var positions=new Array();
    var pos=stringValue.indexOf("e");
    while(pos>-1){
        positions.push(pos);
        pos=stringValue.indexOf("e",pos+1);};
    alert(positions); //"3,24,32,35,52"
    
    var text="cat,bat,sat,fat";
    var pattern=/.at/;
    var matchs=text.match(pattern);
    alert(matchs.index);//0
    alert(matchs[0]);//"cat"
    alert(matchs.lastIndex);//0
    
    var pos=text.search(/at/);
    alert(pos);//1
    
    var result=text.replace("at","ond");
    alert(result);//"cond,bat,sat,fat"
    result=text.replace(/at/g,"ond");
    alert(result);//"cond,bond,sond,fond"
    
    result=text.replace(/(.at)/g,"word($1)");
    alert(result);//word(cat),word(bat),word(sat),word(fat)
    

    相关文章

      网友评论

        本文标题:基本包装类型

        本文链接:https://www.haomeiwen.com/subject/amxquttx.html