希岛爱理av免费一区二区,成人性教育av免费网址,欧美7777,在线免费日韩片

十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
南昌百恒網絡微信公眾號 掃一掃關注
小程序
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號
掃一掃打開百恒網絡微信小程序

百恒網絡

南昌百恒網絡

函數基本包裝類型介紹

百恒網絡 2012-09-08 5060

為了便于操作基本類型值,ECMAScript還提供了3個特殊的引用類型:Boolean、Number和String。這些類犁與前面介紹的其他引用類型相似,但同時也具有與各自的基本類型相應的特殊行為。實際上,每當讀取一個基本類型值的時候,后臺就會創建一個對應的基本包裝類型的對象,從而讓我們能夠調用一些方法來操作這些數據。來看下面的例子:

var sl="some text";

var s2=sl.substring(2);

這個例子中的變量sl包含一個字符串,字符串當然是基本類型值。而下一行調用了sl的substring()方法,并將返回的結果保存在了s2中。我們知道,基本類型值不是對象,因而從邏輯上講它們不應該有方法(盡管如我們所愿,它們確實有方法)。其實,為了讓我們實現這種直觀的操作,后臺已經自動完成了一系列的處理。當第二行代碼訪問sl時,訪問過程處于一種讀取模式,也就是要從內存中讀取這個字符串的值。而在讀取模式中訪問字符串時,后臺都會自動完成下列處理:

(1)創建String類型的一個實例;

(2)在實例上調用指定的方法;

(3)銷毀這個實例。

可以將以上三個步驟想象成是執行了下列ECMAScript代碼:

var sl=new String("some text");

var s2=s1.substring(2);

sl=null;

經過此番處理,基本的字符串值就變得跟對象一樣了。而且,上面這三個步驟也分別適用于Boolean和Number類型對應的布爾值和數字值。

引用類型與基本包裝類型的主要區別就是對象的生存期。使用new操作符創建的引用類型的實例,在執行流離開當前作用域之前都一直保存在內存中。而自動創建的基本包裝類型的對象,則只存在于一行代碼的執行瞬間,然后立即被銷毀。這意味著我們不能在運行時為基本類型值添加屬性和方法。來看下面的例子:

var sl="some text":

sl.color="red";

alert (sl.color); //undefined

在此,第二行代碼試圖為字符串sl添加一個color屬性。但是,當第三行代碼再次訪問sl時,其color屬性不見了。問題的原因就是第二行創建的String對象在執行第三行代碼時已經被銷毀了。第三行代碼又創建自己的String對象,而該對象沒有color屬性。

當然,可以顯武地調用Boolean、Number和String來創建基本包裝類型的對象。不過,南昌網站建設公司技術員認為應該在絕對必要的情況下再這樣做,因為這種做法很容易讓人分不清自己是在處理基本類型還是引用類型的值。對基本包裝類型的實例調用typeof會返回"object",而且所有基本包裝類型的對象都會被轉換為布爾值true。

盡管我們不建議顯式地創建基本包裝類型的對象,但它們操作基本類型值的能力還是相當重要的。而每個基本包裝類型都提供了操作相應值的便捷方法。

希望對廣大站長或網站建設公司或從事企業網站建設的團隊有所幫助,如對此不太理解的,可以與南昌網絡公司百恒網絡技術部聯系。我們很高與廣大站長和網站建設公司技術人員分享我們的技術和經驗。


400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號
掃一掃打開百恒網絡小程序

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
售后服務 售后服務
 
備案專線 備案專線
 
×
主站蜘蛛池模板: 嘉禾县| 新密市| 大余县| 崇文区| 宝坻区| 都昌县| 邵阳市| 洱源县| 襄樊市| 大足县| 泽库县| 麻城市| 浮梁县| 乌鲁木齐县| 门源| 普安县| 瓮安县| 济阳县| 澄江县| 荆门市| 湖南省| 普安县| 泾阳县| 子长县| 兖州市| 千阳县| 分宜县| 万荣县| 商南县| 陆河县| 黎川县| 兰溪市| 宕昌县| 武宣县| 奈曼旗| 齐齐哈尔市| 沅陵县| 从化市| 米泉市| 报价| 东丰县|