在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ HTML/ 淺談 javascript 中基本包裝類型
淺談 JavaScript 之事件綁定
淺談 javascript 中字符串 String 與數(shù)組 Array
淺談 javascript 中基本包裝類型
淺談 JavaScript Math 和 Number 對(duì)象
淺談 Javascript 的靜態(tài)屬性和原型屬性
淺談 JavaScript 中定義變量時(shí)有無(wú) var 聲明的區(qū)別
淺談 JavaScript Array 對(duì)象
淺談 JavaScript 函數(shù)參數(shù)的可修改性問(wèn)題
淺談 javascript 中的 instanceof 和 typeof
淺談 JavaScript 中 Date (日期對(duì)象),Math 對(duì)象
淺談 Javascript 執(zhí)行順序
淺談 javascript 函數(shù)屬性和方法
淺談 JavaScript 中面向?qū)ο蠹夹g(shù)的模擬
淺談 javascript 的原型繼承
淺談 javascript 事件取消和阻止冒泡
根據(jù)一段代碼淺談 Javascript 閉包
淺談 Javascript 面向?qū)ο缶幊?/span>
淺談 javascript 六種數(shù)據(jù)類型以及特殊注意點(diǎn)
淺談 Javascript 變量作用域問(wèn)題
淺談 javascript 函數(shù)內(nèi)部屬性
淺談 javascript 中自定義模版
淺談 JavaScript 字符集
淺談 javascript 面向?qū)ο缶幊?/span>
淺談 JavaScript 框架分類
淺談 JavaScript 中的 Math.atan() 方法的使用
淺談 Javascript 數(shù)組與字典
淺談 JavaScript 數(shù)據(jù)類型及轉(zhuǎn)換
淺談 javascript 的調(diào)試
淺談 Javascript 嵌套函數(shù)及閉包
淺談 javascript 回調(diào)函數(shù)
淺談 JavaScript Date 日期和時(shí)間對(duì)象
淺談 Javascript 中的 Function 與 Object
淺談 JavaScript 數(shù)據(jù)類型
淺談 javascript 中 this 在事件中的應(yīng)用
淺談 javascript 中的閉包
淺談 javascript 函數(shù)劫持
淺談 Javascript 中深復(fù)制
淺談 JavaScript 函數(shù)節(jié)流
淺談 JavaScript 中的 String 對(duì)象常用方法
淺談 JavaScript 事件的屬性列表
淺談 JavaScript 函數(shù)與棧
淺談 JavaScript 的事件
淺談 javascript 中的作用域
淺談 JavaScript 的執(zhí)行效率
淺談 Javascript 事件模擬
淺談 JavaScript function 函數(shù)種類
淺談 javascript 歸并方法
淺談 javascript 迭代方法
淺談 JavaScript 編程語(yǔ)言的編碼規(guī)范
淺談 JavaScript 實(shí)現(xiàn)面向?qū)ο笾械念?/span>
淺談 Javascript 鼠標(biāo)和滾輪事件
淺談 Javascript Base64 加密解密
淺談 Javascript 中勻速運(yùn)動(dòng)的停止條件
淺談 javascript 實(shí)現(xiàn)八大排序
淺談 javascript 的分號(hào)的使用
淺談 javascript 中 createElement 事件
淺談 javascript 的數(shù)據(jù)類型檢測(cè)
淺談 javascript 對(duì)象模型和 function 對(duì)象
淺談 Javascript 如何實(shí)現(xiàn)勻速運(yùn)動(dòng)
淺談 JavaScript 字符串與數(shù)組
淺談 javascript 面向?qū)ο蟪绦蛟O(shè)計(jì)
淺談 Javascript 事件處理程序的幾種方式

淺談 javascript 中基本包裝類型

為了便于操作基本類型值,ECMAScript 還提供了 3 個(gè)特殊的引用類型:Boolean、Number 和String。這些類型與本章介紹的其他引用類型相似,但同時(shí)也具有與各自的基本類型相應(yīng)的特殊行為。實(shí)際上,每當(dāng)讀取一個(gè)基本類型值得時(shí)候,后臺(tái)就會(huì)創(chuàng)建一個(gè)對(duì)應(yīng)的基本包裝類型的對(duì)象,從而讓我們能夠調(diào)用一些方法來(lái)操作這些數(shù)據(jù)。如下例子:

[js] view plaincopy
var s1="some text";  

var s2=s1.substring(2);  

這個(gè)例子中的變量 s1 包含一個(gè)字符串,字符串當(dāng)然是基本類型值,而下一行代碼調(diào)用了 s1的 substring() 方法,并將返回的結(jié)果保存在了 s2 中。我們知道,基本類型值不是對(duì)象,因而從邏輯上講它們不應(yīng)該有方法(盡管如我們所愿,它們確實(shí)有方法)。其實(shí),為了讓我們實(shí)現(xiàn)這種直觀的操作,后臺(tái)已經(jīng)自動(dòng)完成了一系列的處理。當(dāng)?shù)诙写a訪問(wèn) s1 時(shí),訪問(wèn)過(guò)程處于一種讀取模式,也就是呀從內(nèi)存中讀取這個(gè)字符串的值。而在讀取模式中訪問(wèn)字符串時(shí),后臺(tái)都會(huì)自動(dòng)完成下列處理。

  1. 創(chuàng)建 String 類型的一個(gè)實(shí)例;

  2. 在實(shí)例上調(diào)用指定的方法;

  3. 銷毀這個(gè)實(shí)例。

  可以將以上三個(gè)步驟想象成是執(zhí)行了下列 ECMAScript 代碼。

[js] view plaincopy
var s1=new String("some text");  

var s2=s1.substring(2);  

s1=null;  

經(jīng)過(guò)此番處理,基本的字符串值就變得跟對(duì)象一樣了,而且,上面這三個(gè)步驟也分別適用于Boolean 和 Number 類型對(duì)應(yīng)的布爾值和數(shù)字值。

引用類型與基本包裝類型的主要區(qū)別就是對(duì)象的生存期。使用 new 操作符創(chuàng)建的引用類型的實(shí)例,在執(zhí)行流離開(kāi)當(dāng)前作用域之前都一直保存在內(nèi)存中。而自動(dòng)創(chuàng)建的基本包裝類型的對(duì)象,則只存在于一行代碼的執(zhí)行瞬間,然后立即被銷毀。這意味著我們不能再運(yùn)行時(shí)為基本類型值添加屬性和方法。如下面例子:

[js] view plaincopy
var s1="some text"  

s1.color="red";  

alert(s1.color);//undefined  

在此,第二行代碼試圖為字符串s1添加一個(gè) color 屬性。但是,當(dāng)?shù)谌写a在此訪問(wèn) s1時(shí),其 color 屬性不見(jiàn)了。問(wèn)題的原因就是第二行創(chuàng)建的 String 對(duì)象在執(zhí)行第三行代碼時(shí)已經(jīng)被銷毀了。第三行代碼又創(chuàng)建自己的 String 對(duì)象,而該對(duì)象沒(méi)有 color 屬性。

當(dāng)然,可以顯示的滴調(diào)用 Boolean、Number 和 String 來(lái)創(chuàng)建基本包裝類型的對(duì)象。不過(guò),應(yīng)該在絕對(duì)必要的情況下再這樣做,因?yàn)檫@種做法很容易讓人分不清自己是在處理基本包裝類型還是引用基本包裝類型的值。對(duì)基本包裝類型的實(shí)例調(diào)用 typeof 會(huì)返回 “object”,而且所有基本包裝類型的對(duì)象都會(huì)被轉(zhuǎn)換為布爾值 true。

Object 構(gòu)造函數(shù)也會(huì)像工廠方法一樣,根據(jù)傳入值得類型返回相應(yīng)基本包裝類型的實(shí)例。例如:

[js] view plaincopy
var obj=new Object("some text");  

alert(obj instanceof String);//true  

把字符串傳給 Object 構(gòu)造函數(shù),就會(huì)創(chuàng)建 String 的實(shí)例;而傳入數(shù)值參數(shù)會(huì)得到Number 的實(shí)例,傳入布爾值參數(shù)就會(huì)得到 Boolean 的實(shí)例。

要注意的是,使用 new 調(diào)用基本包裝類型的構(gòu)造函數(shù),與直接調(diào)用同名的轉(zhuǎn)型函數(shù)是不一樣的。例如:

[js] view plaincopy
var value="25";  

var number=Number(value); //轉(zhuǎn)型函數(shù)  

alert(typeof number); //"number"  

var obj=new Number(value); //構(gòu)造函數(shù)  

alert(typeof obj); //"object"  

在這個(gè)例子中,變量 number 中保存的是基本類型的值 25,而變量 obj 中保存的是Number 的實(shí)例。

盡管我們不建議顯式的創(chuàng)建基本包裝類型的對(duì)象,但它們操作基本類型值的能力還是相當(dāng)重要的。而每個(gè)基本包裝類型都提供了操作相應(yīng)值的便捷方法。

意思所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。