zoukankan      html  css  js  c++  java
  • Javascript之基本包装类型

    一.基本包装类型概述

    var box = 'Mr. Lee';//定义一个字符串
    var box2 = box.substring(2);//截掉字符串前两位
    alert(box2);//输出新字符串


    变量 box 是一个字符串类型,而 box.substring(2)又说明它是一个对象(PS:只有对象才会调用方法),最后把处理结果赋值给 box2。

    'Mr. Lee'是一个字符串类型的值,按道理它不应该是对象,不应该会有自己的方法,比如:alert('Mr. Lee'.substring(2));//直接通过值来调用方法

    --------------------------------------

    1.字面量写法:

    var box = 'Mr. Lee';//字面量
    box.name = 'Lee';//无效属性
    box.age = function () {//无效方法
      return 100;
    };
    alert(box);//Mr. Lee
    alert(box.substring(2));//. Lee
    alert(typeof box);//string
    alert(box.name);//undefined
    alert(box.age());//错误


    2.new 运算符写法:

    var box = new String('Mr. Lee');//new 运算符
    box.name = 'Lee';//有效属性
    box.age = function () {//有效方法
      return 100;
    };
    alert(box);//Mr. Lee
    alert(box.substring(2));//. Lee
    alert(typeof box);//object
    alert(box.name);//Lee
    alert(box.age());//100

    以上字面量声明和 new 运算符声明很好的展示了他们之间的区别。但有一定还是可以肯定的,那就是不管字面量形式还是 new 运算符形式,都可以使用它的内置方法。并且Boolean 和 Number 特性与 String 相同,三种类型可以成为基本包装类型。

    PS:在使用 new 运算符创建以上三种类型的对象时,可以给自己添加属性和方法,但我们建议不要这样使用,因为这样会导致根本分不清到底是基本类型值还是引用类型值。

  • 相关阅读:
    Quora 用了哪些技术(转)
    Instagram的技术探索2(转)
    Sharding & IDs at Instagram(转)
    2010“架构师接龙”问答--杨卫华VS赵劼(转)
    架构师接龙 汇总(转)
    如何成为一名软件架构师(转)
    网站架构资料集(转)
    技术好重要吗?
    洞洞那么大-悲伤那么小
    教你玩转XSS漏洞
  • 原文地址:https://www.cnblogs.com/n2meetu/p/6139917.html
Copyright © 2011-2022 走看看