基本包装类型

  •     3个特殊的引用类型:BooleanNumberString,每当读取这三个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而能够调用一些方法来操作这些数据。

  • alert('Jason'.substring(2));                           //直接通过值来调用方法
     
    //字面量写法:
    var foo = 'Jason';                                     //字面量
    foo.name = 'Jason';                                    //无效属性
    foo.age = function () {                                //无效方法
           return 25;
    };
    alert(foo);                                            //Mr. Lee
    alert(foo.substring(2));                               //son
    alert(typeof foo);                                     //string
    alert(foo.name);                                       //undefined
    alert(foo.age());                                      //错误
     
    //new运算符写法:
    var man = new String('Jason');                         //new运算符
    man.name = 'Jess';                                     //有效属性
    man.age = function () {                                //有效方法                  
           return 25;
    }
    alert(man);                                             //Jason
    alert(man.substring(2));                                //ss
    alert(typeof man);                                      //object
    /*在使用new运算符创建以上三种类型的对象时,可以给自己添加属性和方法,但会导致无法分清到底是基本类型值还是引用类型值。*
  • Boolean类型没有特定的属性或者方法。

  • Number静态属性
    MAX_VALUE
    最大
    MIN_VALUE
    最小值
    NaN
    非数值
    NEGATIVE_INFINITY
    负无穷大,溢出返回该值
    POSITIVE_INFINITY
    无穷大,溢出返回该值
    prototype
    原型,用于增加新属性和方法
    Number对象的方法
    toString()
    将数值转化为字符串,并且可以转换进制
    toLocaleString()
    根据本地数字格式转换为字符串
    toFixed()
    将数字保留小数点后指定位数并转化为字符串
    (var num = 1000.789;num.toFixed(2)小数点保留,1000.78)

    toExponential()
    将数字以指数形式表示,保留小数点后指定位数并转化为字符串
    toPrecision()
    指数形式或点形式表述数,保留小数点后面指定位数并转化为字符串
  • String对象属性
    length
    字符串的字符长度
    constructor
    创建String对象的函数
    prototype
    原型,添加属性和方法扩展字符串定义
    String字符方法
    charAt(n)
    返回指定索引位置的字符
    charCodeAt(n)
    Unicode编码形式返回指定索引位置的字符
    concat(str1...str2)
    将字符串参数串联到调用该方法的字符串
    slice(n,m)
    返回字符串nm之间位置的字符串
    substring(n,m)
    返回字符串nm之间位置的字符串
    substr(n,m)
    返回字符串n开始的m个字符串
    indexOf(str, n)
    n开始搜索的第一个str,并将搜索的索引值返回 (没找到,则返回-1)
    lastIndexOf(str, n)
    n开始搜索的最后一个str,并将搜索的索引值返回 (没找到,则返回-1)
    toLowerCase(str)
    转换为小写
    toUpperCase(str)
    转换为大写
    match(pattern)
    返回pattern 中的子串或null
    replace(pattern,replacement)
    replacement 替换pattern
    search(pattern)
    返回字符串中pattern 开始位置
    split(pattern)
    返回字符串按指定pattern 拆分的数组
    localeCompare(str1,str2)
    比较两个字符串,并返回相应的值 (在字母表中排序)
  • var foo = 'Mr.Lee';
    alert(foo.concat(' is ', ' Teacher ', '!'));     //Mr.Lee is Teacher !
    alert(foo.slice(3));                             //Lee
    alert(foo.slice(3,5));                           //Le
    alert(foo.substring(3));                         //Lee
    alert(foo.substring(3,5));                       //Le
    alert(foo.substr(3));                            //Lee
    alert(foo.substr(3,5));                          //Lee
     
    var foo = 'Mr.Lee';
    alert(foo.slice(-3));                           //Lee,6+(-3)=3位开始
    alert(foo.substring(-3));                       //Mr.Lee 负数返回全部
    alert(foo.substr(-3));                          //Lee,6+(-3)=3位开始
     
    var foo= 'Mr.Lee';
    alert(foo.slice(3, -1));                        //Le 6+(-1)=5, (3,5)
    alert(foo.substring(3, -1));                    //Mr.第二参为负,直接转0,
                                                    //并且方法会把较小的数字提前,(0,3)
    alert(foo.substr(3, -1));                       //'' 第二参数为负,直接转0 ,(3,0)
    /* 
    IE的JavaScript实现在处理向substr()方法传递负值的情况下存在问题,它会返回原始字符串,使用时要切记。
    */
    var str = 'Mr.Lee is Lee';
    alert(str.match('L'));                          //找到L,返回L否则返回null
    alert(str.search('L'));                         //找到L的位置,和indexOf类型
    alert(str.replace('L', 'Q'));                   //把L替换成Q
    alert(str.split(' '));                          //以空格分割成字符串
    
    var box = 'Lee';
    alert(box.localeCompare('apple'));                      //1
    alert(box.localeCompare('Lee'));                         //0
    alert(box.localeCompare('zoo'));                         //-1

你可能感兴趣的:(JavaScript)