JavaScript的對象和包裝類你了解多少
一、對象
1.1 描述對象

this代表這個值自己==mrDeng
1.2 屬性的增刪改查(以下需要在控制臺輸入)

1.3 對象的創(chuàng)建方法
1.3.1 字面量

1.3.2 構(gòu)造函數(shù)

1.3.2.1 系統(tǒng)自帶構(gòu)造函數(shù)

下面的是第一種字面量方法,與系統(tǒng)自帶的構(gòu)造函數(shù)沒有任何區(qū)別

1.3.2.2 自定義


加new 執(zhí)行的時候就變成能返回的對象了

1.3.3 Object.create(原型)方法
構(gòu)造函數(shù)內(nèi)部原理:有new就能發(fā)生下面的執(zhí)行,沒new就是正常函數(shù)執(zhí)行

以下輸出結(jié)果是xiaowang,跟后面對應(yīng)輸出

二、 包裝類(new String()、new Boolean()、new Number())

undefined和null不能有設(shè)置屬性的東西
例1:

原始值不能有屬性和方法(num不能加llen),對象可以有,如上, 那為什么原始值可以被調(diào)用,因為經(jīng)歷了個過程叫包裝類,中間的藍(lán)色字是隱式發(fā)生的,新建一個數(shù)字對象,讓這個數(shù)字對象的len等于3,這步完事就被刪除
下一次系統(tǒng)又訪問len,這次的new number和前面的不一樣了,前面的已經(jīng)被銷毀了,新建的這個沒有l(wèi)en了,num本身沒有l(wèi)ength屬性,所以返回結(jié)果undefined
即上述隱式的中間環(huán)節(jié)叫做包裝類
例2:

結(jié)果是abcd,因為上面已經(jīng)用過length=2了且銷毀
如果console.log(str.length)結(jié)果為4::隱式訪問new String('abcd').length string本身就有l(wèi)ength屬性
例3:

前兩行執(zhí)行結(jié)果為abc1,仍為字符串,typeof返回str的類型string,長度為6,但是test是原始值,所以要執(zhí)行先調(diào)用包裝類,用完刪除,最后輸出時再次調(diào)用,,但是已經(jīng)被刪除,最終返回結(jié)果undefined
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
javascript Window及document對象詳細(xì)整理
注:頁面上元素name屬性以及JavaScript引用的名稱必須一致包括大小寫否則會提示你1個錯誤信息 引用的元素為空或者不是對象2011-01-01
javaScript中"=="和"==="的區(qū)別詳解
對于JavaScript中比較運(yùn)算符,可能大家用的比較多的是“==”、對于“===”很多人可能很陌生。=== 表示恒等,首先比較兩邊的變量數(shù)據(jù)類型是否相等,其次比較兩邊的變量的數(shù)值是否相等;== 表示相等即僅僅比較兩邊變量的數(shù)值是否相等。2018-03-03
淺談JavaScript的Polymer框架中的behaviors對象
這篇文章主要介紹了淺談JavaScript的Polymer框架中的behaviors對象,Polymer是由Google開發(fā)的Web UI相關(guān)框架,需要的朋友可以參考下2015-07-07
js腳本學(xué)習(xí) 比較實(shí)用的基礎(chǔ)
js腳本學(xué)習(xí) 比較實(shí)用的基礎(chǔ)...2006-09-09
js鼠標(biāo)點(diǎn)擊事件在各個瀏覽器中的寫法及Event對象屬性介紹
各個主流瀏覽器德鼠標(biāo)點(diǎn)擊事件,方便使用時查詢,整理還算是很詳細(xì)吧,感興趣的你可以參考下啊,希望本文對你有所幫助2013-01-01
優(yōu)化RequireJS項目的相關(guān)技巧總結(jié)
這篇文章主要介紹了優(yōu)化RequireJS項目的相關(guān)技巧總結(jié),RequireJS是一個人氣JavaScript庫,需要的朋友可以參考下2015-07-07
怎么通過onclick事件獲取js函數(shù)返回值(代碼少)
這篇文章主要介紹了怎么通過onclick事件獲取js函數(shù)返回值,需要的朋友可以參考下2015-07-07

