js 對象包裝07-22

基本類型和引用類型。

基本類型:Undefined,Null,Boolean,Number,String
引用類型:Object,Array,Date,RegExp等,說白了就是對象。。。

我們都知道,引用類型有方法和屬性,但是基本類型是木有的,但是你一定見過這樣的代碼
var str = 'hello'; //string 基本類型
var s2 = str.charAt(0);
alert(s2); // h

有三個比較特殊的存在就是:String Number Boolean,這三個基本類型都有自己對應的包裝對象。并且隨時等候召喚。包裝對象呢,其實就是對象,有相應的屬性和方法。至于這個過程是怎么發生呢,其實是在后臺偷偷發生的。
舉例:

//我們平常寫程序的過程:
var str = 'hello'; //string 基本類型
var s2 = str.charAt(0); //在執行到這一句的時候 后臺會自動完成以下動作 :
( 
 var str = new String('hello'); // 1 找到對應的包裝對象類型,然后通過包裝對象創建出一個和基本類型值相同的對象
 var s2 = str.chaAt(0); // 2 然后這個對象就可以調用包裝對象下的方法,并且返回結給s2.
 str = null;  //    3 之后這個臨時創建的對象就被銷毀了, str =null; 
 ) 
alert(s2);//h 
alert(str);//hello     注意這是一瞬間的動作 實際上我們沒有改變字符串本身的值。就是做了下面的動作.這也是為什么每個字符串具有的方法并沒有改變字符串本身的原因。

由此我們可以知道,引用類型和基本包裝對象的區別在于:生存期
引用類型所創建的對象,在執行的期間一直在內存中,而基本包裝對象只是存在了一瞬間。
所以我們無法直接給基本類型添加方法:

列:
var str = 'hello';
str.number = 10; //假設我們想給字符串添加一個屬性number ,后臺會有如下步驟
{ 
 var str = new String('hello'); // 1 找到對應的包裝對象類型,然后通過包裝對象創建出一個和基本類型值相同的對象
  str.number = 10; // 2 通過這個對象調用包裝對象下的方法 但結果并沒有被任何東西保存
 str =null; // 3 這個對象又被銷毀
 }
alert(str.number); //undefined  當執行到這一句的時候,因為基本類型本來沒有屬性,后臺又會重新重復上面的步驟
{ 
 var str = new String('hello'); // 1 找到基本包裝對象,然后又新開辟一個內存,創建一個值為hello對象
 str.number = undefined   // 2 因為包裝對象下面沒有number這個屬性,所以又會重新添加,因為沒有值,所以值是未定 ;然后彈出結果
 str =null; // 3 這個對象又被銷毀
 }

每個對象都有原型。
舉例:

//給字符串添加方法  要寫到對應的包裝對象的原型下才行
var str = 'hello';
String.prototype.last= fuction(){ 
    return this.charAt(this.length);
}; 
str.last(); // 5 執行到這一句,后臺依然會偷偷的干這些事
{ 
    var str = new String('hello');// 找到基本包裝對象,new一個和字符串值相同的對象,
    str.last();  // 通過這個對象找到了包裝對象下的方法并調用 
    str =null; //  這個對象被銷毀
}
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,321評論 6 543
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,559評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,442評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,835評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,581評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,922評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,931評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,096評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,639評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,374評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,591評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,104評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,789評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,196評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,524評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,322評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,554評論 2 379

推薦閱讀更多精彩內容

  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創建并操作數組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,264評論 0 4
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執行單位為行(line),也就是一...
    悟名先生閱讀 4,193評論 0 13
  • 第一章: JS簡介 從當初簡單的語言,變成了現在能夠處理復雜計算和交互,擁有閉包、匿名函數, 甚至元編程等...
    LaBaby_閱讀 1,688評論 0 6
  • 文 | 楂阿 圖|楂阿 01緣起 其實,我從來沒想過要去西藏。 大學四年,獨自背包旅行走遍了大半個中國,卻一直未將...
    楂阿閱讀 2,488評論 100 102
  • 感恩昨天寶貝的生日party非常成功,兒子和小朋友們玩的很開心,他們都很喜歡我準備的食物,雖然收拾房間很累,但是心...
    小葉的簡書閱讀 325評論 0 1