欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript中的Primitive對(duì)象封裝介紹

 更新時(shí)間:2014年12月31日 09:55:19   投稿:junjie  
這篇文章主要介紹了JavaScript中的Primitive對(duì)象封裝介紹,本文著重講解封裝過程,然后給出示例代碼,需要的朋友可以參考下

JavaScript中,string、number、boolean均為primitive基本類型,也即字符串、數(shù)值、布爾值并不是以對(duì)象的形式而存在的。不過,由于需要對(duì)這三種primitive類型值進(jìn)行操作,因此JavaScript會(huì)自動(dòng)封裝這三種類型的值,使其作為對(duì)象而擁有屬性與方法。以string為例,這種封裝過程如下:

1.當(dāng)JavaScript遇到對(duì)string值進(jìn)行屬性訪問或者方法調(diào)用時(shí),會(huì)調(diào)用new String(字符串值)自動(dòng)將該string封裝成一個(gè)String對(duì)象。
2.JavaScript會(huì)訪問這個(gè)新創(chuàng)建的對(duì)象的屬性或者方法,并返回相應(yīng)的結(jié)果。
3.屬性訪問或者方法調(diào)用結(jié)束后,JavaScript將立即銷毀這個(gè)新創(chuàng)建的對(duì)象。

以下面的代碼為例,對(duì)JavaScript自動(dòng)創(chuàng)建的String對(duì)象進(jìn)行屬性寫入操作沒有任何意義,因?yàn)檫@個(gè)創(chuàng)建出來的對(duì)象在寫入語句結(jié)束后就不復(fù)存在了:


復(fù)制代碼 代碼如下:

var s = "test";
s.length = 9;
console.log(s.length);//still 4
s.newVariable = 9;
console.log(s.newVariable);//undefined
console.log(s === "test");//true

值得注意的是,上述代碼中的s變量所表示的永遠(yuǎn)是primitive的字符串,JavaScript所自動(dòng)創(chuàng)建的字符串對(duì)象存在于執(zhí)行s.length或者s.newVariable操作的過程中。這可以從以上實(shí)驗(yàn)的最后一行代碼中得到驗(yàn)證。

除了對(duì)Primitive值進(jìn)行自動(dòng)封裝,開發(fā)人員也可以選擇手動(dòng)進(jìn)行相應(yīng)的過程。與自動(dòng)封裝不同的是,手動(dòng)封裝所得到的對(duì)象并不會(huì)被立即銷毀,因此針對(duì)手動(dòng)封裝的對(duì)象所采取的屬性寫入操作是有意義的:


復(fù)制代碼 代碼如下:

var t = new String("test");
t.length = 9;
console.log(t.length);//still 4, as length attribute is read only
t.newVariable = 9;
console.log(t.newVariable);//9

console.log(t == "test");//true
console.log(t === "test");//false

相關(guān)文章

  • javascript當(dāng)中的代碼嗅探擴(kuò)展原生對(duì)象和原型(prototype)

    javascript當(dāng)中的代碼嗅探擴(kuò)展原生對(duì)象和原型(prototype)

    如果不是有特殊需要而去擴(kuò)展原生對(duì)象和原型(prototype)的做法是不好的,除非這樣做是值得的,例如,向一些舊的瀏覽器中添加一些ECMAScript5中的方法
    2013-01-01
  • javascript實(shí)現(xiàn)網(wǎng)頁端解壓并查看zip文件

    javascript實(shí)現(xiàn)網(wǎng)頁端解壓并查看zip文件

    昨天給大家分享了在網(wǎng)頁端使用zip.js插件實(shí)現(xiàn)在線壓縮文件的代碼,今天給大家分享一下javascript實(shí)現(xiàn)網(wǎng)頁端解壓并查看zip文件的方法,非常的實(shí)用,有需要的小伙伴可以參考下
    2015-12-12
  • setTimeout時(shí)間設(shè)置為0詳細(xì)解析

    setTimeout時(shí)間設(shè)置為0詳細(xì)解析

    setTimeout( ) 是屬于 window 的 method, 但我們都是略去 window 這頂層容器名稱, 這是用來設(shè)定一個(gè)時(shí)間, 時(shí)間到了, 就會(huì)執(zhí)行一個(gè)指定的 method,下面這篇文章主要給大家介紹了關(guān)于setTimeout時(shí)間設(shè)置為0的相關(guān)資料,需要的朋友可以參考下。
    2018-03-03
  • 微信小程序全局?jǐn)?shù)據(jù)共享和分包圖文詳解

    微信小程序全局?jǐn)?shù)據(jù)共享和分包圖文詳解

    全局?jǐn)?shù)據(jù)共享是為了解決組件之間數(shù)據(jù)共享的問題,下面這篇文章主要給大家介紹了關(guān)于微信小程序全局?jǐn)?shù)據(jù)共享和分包的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 一文帶你快速學(xué)會(huì)JavaScript條件判斷及高級(jí)用法

    一文帶你快速學(xué)會(huì)JavaScript條件判斷及高級(jí)用法

    JavaScript支持其用于執(zhí)行根據(jù)不同的條件不同的操作條件語句,下面這篇文章主要給大家介紹了關(guān)于如何在JavaScript中更好的使用條件判斷的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • form表單轉(zhuǎn)Json提交的方法(推薦)

    form表單轉(zhuǎn)Json提交的方法(推薦)

    下面小編就為大家?guī)硪黄猣orm表單轉(zhuǎn)Json提交的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-09-09
  • TypeScript中type和interface的區(qū)別及注意事項(xiàng)

    TypeScript中type和interface的區(qū)別及注意事項(xiàng)

    type的類型別用可以用戶其他的類型,比如聯(lián)合類型、元祖類型、基本類型,interface不行,下面這篇文章主要給大家介紹了關(guān)于TypeScript中type和interface的區(qū)別及注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • php析構(gòu)函數(shù)的具體用法小結(jié)

    php析構(gòu)函數(shù)的具體用法小結(jié)

    本篇文章主要是對(duì)php析構(gòu)函數(shù)的具體用法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2014-03-03
  • JS奇技之利用scroll來監(jiān)聽resize詳解

    JS奇技之利用scroll來監(jiān)聽resize詳解

    這篇文章主要給大家介紹了JS奇技之利用scroll來監(jiān)聽resize的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • JS XMLHttpRequest原理與使用方法深入詳解

    JS XMLHttpRequest原理與使用方法深入詳解

    這篇文章主要介紹了JS XMLHttpRequest原理與使用方法,結(jié)合實(shí)例形式深入分析了JS XMLHttpRequest相關(guān)原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-04-04

最新評(píng)論