国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

js 中的基本類(lèi)型,引用類(lèi)型,基本包裝類(lèi)型

kun_jian / 2719人閱讀

摘要:基本類(lèi)型引用類(lèi)型等,說(shuō)白了就是對(duì)象。。?;景b類(lèi)型如下基本類(lèi)型毫無(wú)疑問(wèn)上面的是一個(gè)基本類(lèi)型,但是它卻能召喚出一個(gè)的方法,這是什么原因呢主要是因?yàn)樵诨绢?lèi)型中,有三個(gè)比較特殊的存在就是,這三個(gè)基本類(lèi)型都有自己對(duì)應(yīng)的包裝對(duì)象。

基本類(lèi)型:Undefined,Null,Boolean,Number,String
引用類(lèi)型:Object,Array,Date,RegExp等,說(shuō)白了就是對(duì)象。。。
基本包裝類(lèi)型:Boolean,Number,String

如下~

var str = "hello"; //string 基本類(lèi)型
var s2 = str.charAt(0);
alert(s2); // h

毫無(wú)疑問(wèn)上面的string是一個(gè)基本類(lèi)型,但是它卻能召喚出一個(gè) charAt() 的方法,這是什么原因呢?
主要是因?yàn)樵诨绢?lèi)型中,有三個(gè)比較特殊的存在就是:String Number Boolean,這三個(gè)基本類(lèi)型都有自己對(duì)應(yīng)的包裝對(duì)象。并且隨時(shí)等候召喚。包裝對(duì)象呢,其實(shí)就是對(duì)象,有相應(yīng)的屬性和方法。至于這個(gè)過(guò)程是怎么發(fā)生呢,其實(shí)是在后臺(tái)偷偷發(fā)生的。

//我們平常寫(xiě)程序的過(guò)程:
var str = "hello"; //string 基本類(lèi)型
var s2 = str.charAt(0); //在執(zhí)行到這一句的時(shí)候 后臺(tái)會(huì)自動(dòng)完成以下動(dòng)作 :
( 
 var _str = new String("hello"); // 1 找到對(duì)應(yīng)的包裝對(duì)象類(lèi)型,然后通過(guò)包裝對(duì)象創(chuàng)建出一個(gè)和基本類(lèi)型值相同的對(duì)象
 var s2 = _str.chaAt(0); // 2 然后這個(gè)對(duì)象就可以調(diào)用包裝對(duì)象下的方法,并且返回結(jié)給s2.
 _str = null;  //    3 之后這個(gè)臨時(shí)創(chuàng)建的對(duì)象就被銷(xiāo)毀了, str =null; 
 ) 
alert(s2);//h 
alert(str);//hello    

注意這是一瞬間的動(dòng)作 實(shí)際上我們沒(méi)有改變字符串本身的值。就是做了下面的動(dòng)作.這也是為什么每個(gè)字符串具有的方法并沒(méi)有改變字符串本身的原因。

由此我們可以知道,引用類(lèi)型和基本包裝對(duì)象的區(qū)別在于:生存期
引用類(lèi)型所創(chuàng)建的對(duì)象,在執(zhí)行的期間一直在內(nèi)存中,而基本包裝對(duì)象只是存在了一瞬間。

所以我們無(wú)法直接給基本類(lèi)型添加方法:

var str = "hello";
str.number = 10; //假設(shè)我們想給字符串添加一個(gè)屬性number ,后臺(tái)會(huì)有如下步驟
{ 
 var _str = new String("hello"); // 1 找到對(duì)應(yīng)的包裝對(duì)象類(lèi)型,然后通過(guò)包裝對(duì)象創(chuàng)建出一個(gè)和基本類(lèi)型值相同的對(duì)象
  _str.number = 10; // 2 通過(guò)這個(gè)對(duì)象調(diào)用包裝對(duì)象下的方法 但結(jié)果并沒(méi)有被任何東西保存
 _str =null; // 3 這個(gè)對(duì)象又被銷(xiāo)毀
 }
alert(str.number); //undefined  當(dāng)執(zhí)行到這一句的時(shí)候,因?yàn)榛绢?lèi)型本來(lái)沒(méi)有屬性,后臺(tái)又會(huì)重新重復(fù)上面的步驟
{ 
 var str = new String("hello"); // 1 找到基本包裝對(duì)象,然后又新開(kāi)辟一個(gè)內(nèi)存,創(chuàng)建一個(gè)值為hello對(duì)象
 str.number = undefined   // 2 因?yàn)榘b對(duì)象下面沒(méi)有number這個(gè)屬性,所以又會(huì)重新添加,因?yàn)闆](méi)有值,所以值是未定義;然后彈出結(jié)果
 str =null; // 3 這個(gè)對(duì)象又被銷(xiāo)毀
 }

那么我們?cè)趺床拍芙o基本類(lèi)型添加方法或者屬性呢?
答案是在基本包裝對(duì)象的原型下面添加,每個(gè)對(duì)象都有原型。

//給字符串添加方法  要寫(xiě)到對(duì)應(yīng)的包裝對(duì)象的原型下才行
var str = "hello";
String.prototype.last= fuction(){ 
    return this.charAt(this.length);
}; 
str.last(); // 5 執(zhí)行到這一句,后臺(tái)依然會(huì)偷偷的干這些事
{ 
    var _str = new String("hello");// 找到基本包裝對(duì)象,new一個(gè)和字符串值相同的對(duì)象,
    _str.last();  // 通過(guò)這個(gè)對(duì)象找到了包裝對(duì)象下的方法并調(diào)用 
    _str =null; //  這個(gè)對(duì)象被銷(xiāo)毀
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/92811.html

相關(guān)文章

  • js基本類(lèi)型、引用類(lèi)型、包裝類(lèi)型

    摘要:每當(dāng)讀取這個(gè)基本類(lèi)型時(shí),后臺(tái)會(huì)創(chuàng)建一個(gè)對(duì)應(yīng)的基本包裝類(lèi)型的對(duì)象。類(lèi)型判斷主要是用來(lái)判斷基本數(shù)據(jù)類(lèi)型返回類(lèi)型新增所以只能用來(lái)判斷基本數(shù)據(jù)類(lèi)型。引用類(lèi)型基本包裝類(lèi)型都會(huì)返回。 最近重溫JS高程設(shè)計(jì)以及與朋友的討論。決定趁熱打鐵記錄JS的各種類(lèi)型,并做下深入總結(jié)。 js的幾種類(lèi)型 基本類(lèi)型:Boolean、String、Number、Null、Undefined 引用類(lèi)型: 2.1 O...

    liangzai_cool 評(píng)論0 收藏0
  • JS中,基本數(shù)據(jù)類(lèi)型、引用類(lèi)型基本包裝類(lèi)型

    摘要:例子中,屬于基本類(lèi)型對(duì)象?;緮?shù)據(jù)類(lèi)型和引用類(lèi)型作方法入?yún)r(shí)的差異通常,在函數(shù)調(diào)用時(shí),如果入?yún)榛緮?shù)據(jù)類(lèi)型時(shí),函數(shù)的參數(shù)將以值傳遞的方式傳遞。 前言:再次翻閱JS高程(第3版)過(guò)程中,看到了基本包裝類(lèi)型,趁熱留下此文,對(duì)JS的數(shù)據(jù)類(lèi)型做個(gè)較為深入的小結(jié)(2018-10-19)。 雖然JS與其他強(qiáng)類(lèi)型語(yǔ)言不一樣,聲明中無(wú)需預(yù)設(shè)數(shù)據(jù)類(lèi)型,但是JS也是有數(shù)據(jù)類(lèi)型區(qū)分的。 基本數(shù)據(jù)類(lèi)型(...

    Tychio 評(píng)論0 收藏0
  • 輕松理解JS基本包裝對(duì)象

    摘要:今天來(lái)討論一下中的基本包裝對(duì)象也叫基本包裝類(lèi)型,之前剛學(xué)到這里的時(shí)候,自己也是一頭霧水,不明白這個(gè)基本包裝對(duì)象到底是個(gè)什么鬼,后來(lái)找了很多資料,終于看清了它的真面目?;绢?lèi)型引用類(lèi)型等,說(shuō)白了就是對(duì)象。。。 今天來(lái)討論一下JS中的基本包裝對(duì)象(也叫基本包裝類(lèi)型),之前剛學(xué)到這里的時(shí)候,自己也是一頭霧水,不明白這個(gè)基本包裝對(duì)象到底是個(gè)什么鬼,后來(lái)找了很多資料,終于看清了它的真面目。首先呢...

    seal_de 評(píng)論0 收藏0
  • js 中的數(shù)據(jù)類(lèi)型

    摘要:來(lái)自你不知道的對(duì)未初始化和未聲明的變量執(zhí)行操作符都返回了值類(lèi)型是第二個(gè)只有一個(gè)值的數(shù)據(jù)類(lèi)型,這個(gè)特殊的值是。 基本類(lèi)型 主要有:undefined、null、布爾值(Boolean)、字符串(String)、數(shù)值(Number)、Symbol undefined 在使用 var,let,const 聲明變量但未對(duì)其加以初始化時(shí),這個(gè)變量的值就是undefined 注意點(diǎn): ...

    Jensen 評(píng)論0 收藏0
  • 基本數(shù)據(jù)類(lèi)型引用類(lèi)型的區(qū)別詳解

    摘要:前兩天看到大神的關(guān)于基本數(shù)據(jù)類(lèi)型和引用類(lèi)型的區(qū)別的文章覺(jué)得寫(xiě)得非常不錯(cuò),就想著在其基礎(chǔ)上加上自己平時(shí)看到的一些知識(shí)點(diǎn)和理解,所以就有了以下的文章基本數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型包括基本數(shù)據(jù)類(lèi)型是按值訪問(wèn)的,就是說(shuō)我們可以操作保存在變量中的實(shí)際的值基 前兩天看到kraaas大神的關(guān)于基本數(shù)據(jù)類(lèi)型和引用類(lèi)型的區(qū)別的文章覺(jué)得寫(xiě)得非常不錯(cuò),就想著在其基礎(chǔ)上加上自己平時(shí)看到的一些知識(shí)點(diǎn)和理解,所以就有了...

    CoffeX 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<