码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript的基本包装类型概述

时间:2015-04-23 19:30:12      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

为了便于操作基本类型值,javaScript 提供了 3 个特殊的引用类型:Boolean、Number和 String。

这些类型与其他引用类型相似,但同时也具有与各自的基本类型相应的特殊行为。

实际上,每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而能够调用一些方法来操作这些数据。比如:

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

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

‘Mr. Lee‘是一个字符串类型的值,按道理它不应该是对象,不应该会有自己的方法,比如:

    alert(Mr. Lee.substring(2));             //直接通过值来调用方法,结果是. Lee
    /*字面量写法:*/
    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()); //错误
    
    /*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 相同,三种类型可以成为基本包装类型(无法给自己创建属性和方法(但可以使用原型给对象扩展方法),只可以使用自己的内置方法)。

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

JavaScript的基本包装类型概述

标签:

原文地址:http://www.cnblogs.com/LO-ME/p/3600418.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!