本人按書上的內容大體地把javaScript對象劃分紅「引用類型」、「基本包裝類型」和「內置對象」三塊內容。java
咱們這篇先了解下基本包裝類型的詳細用法吧!數據結構
1、咱們先解下相關概念:函數
一、引用類型的值(對象)是一個引用類型的一個實例。學習
在ECMAScript中,引用類型是一種數據結構,用於將數據和功能組織在一塊兒。它也一般稱爲類。this
儘管ECMASript中,從技術上講是一門面向對象的語言,但它不具有傳統的面嚮對象語言所支持的類和接口等基本結構。引用類型有時候也被稱爲對象定義,由於它們描述是一類對象所具備的屬性和方法。spa
爲了便於操做基本數據類型,ECMAScript還提供了3個特殊的引用數據類型:Boolean、Number和String。prototype
在實際中咱們每讀取一個基本數據值的時候,後臺就會建立一個對應的基本包裝類型對象,從而讓咱們可以調用一些方法操做這些數據。code
如如下示例:對象
var s1 = "some text";blog
var s2 = s1.substring(2);
猜猜後臺會作什麼樣的事情,走,咱們一塊兒來看看:
一、String類型的一個實例;
二、在實例中調用指定的方法;
三、銷燬這個實例。
能夠將以上三個步驟想像成是執行如下ECMAStript代碼。
var s1 = new String("some text");
var s2 = s1.substring(2);
s1 = null;
引用類型與基本包裝類型的區別:
它們的對象生命週期不一樣:
這意味着在運行時爲基本包裝類型值添加屬性和方法是無效的。
2、走起,一塊兒學習下基本包裝類型的詳細用法。
一、boolean 布爾對象類型
boolean對象用於轉換一個不是Boolean類型的值轉換爲Boolean類型值(true或者false)。
1.1 建立Boolean對象
boolean對象表明兩個值:「true」或者"false"
下面的代碼定義了一個名爲myBoolean的布爾對象
var myBoolean = new Boolean ();
若是布爾對象無初始值或者其值爲:
那麼對象的值爲false.不然,其值爲true(即便當自變量爲字符串"false"時)!
1.2 boolean對象屬性
1.2.1 constructor屬性
語法:
boolean.constructor
定義和用法:
constructor屬性返回建立布爾對象的函數原型(即返回建立此對象的boolean函數的引用)。
相關示例:
返回經過myvar對象的原型建立的函數:
var myvar = new boolean(1);
myvar.constructor;
結果輸出:
function Boolean (){ [native code]}
1.2.2 boolean prototype構造器
語法:
Boolean.prototype.name=value;
定義和用法:
prototypen屬性使您有能力向對象添加屬性和方法。
當構造一個原型,全部的布爾對象默認都添加屬性或方法。
注意:Boolean.prototype不是引用布爾值,但Boolean()對象是。
注意: Prototype是一個全局屬性,這對於幾乎所有的javaScript對象。
相關示例:
Boolean.prototype.myColor=function ()
{
if (this.valueof()==true)
{
this.color="green";
} else
{
this.color="red";
}
}
建立一個Boolean對象,並添加myColor方法:
var a = new Boolean(1);
a.,yColor();
var b=a.color;
結果輸出:
green
1.3 boolean對象方法
1.3.1 toString()方法
語法:
boolean.toString()
定義和用法:
toString() 方法可把一個邏輯值轉換爲字符串,並返回結果(true或false)。
注意:當須要把boolean對象轉換成字符串的狀況,javaScript會自動調用此方法。
1.3.2 valueOf()方法
語法:
boolean.valueOf()
定義和用法:
valueOf()方法可返回Boolean對象的原始值(true 或 false)。
相關示例:
返回Boolean 對象的原始值:
var bool = new Boolean (0).
var myvar = bool.valueOf();
myvar輸出結果:
false
二、number 數字對象類型
Number對象是原始數值的包裝對象。
Number建立方式 new Number().
語法:
var num = new Number(value);
2.1 number對象屬性
2.1.1 constructor屬性
語法:
number.constructor;
定義和用法:
constructor屬性返回建立此對象的boolean函數的引用.
相關示例:
返回對建立此對象的number函數的引用:
num.constructor;
輸出結果:
function Number () {[native code]}
2.1.2 MAX_VALUE屬性
語法:
Number.MAX_VALUE;
定義和用法
MAX_VALUE屬性是javaScript中可表示的最大的的數。
它的近似值爲1.7976931348623157 x 10308。
注意:大於MAX_VALUE的數表示無窮大。
相關示例:
示例1
返回javaScript中的最大的數:
Number.MAX_VALUE;
返回值:
1.7976931348623157e+308
因爲MAX_VALUE爲Number對象的屬性,因此可使用Number.MAX_VALUE調用。
使用本身建立的xNumber對象(x.MAX_VALUE)將沒法獲取。
示例2
MAX_VALUE是javaScript Number對象的靜態屬性,只能經過Number.MAX_VALUE調用。
使用自定義的Numberx(x.MAX_VALUE)將沒法獲取MAX_VALUE屬性;
var x = 100;
x.MAX_VALUE;
x輸出結果:
undefined
三、string 字符串對象類型