国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript中的Primitive對象封裝介紹

2024-05-06 16:13:22
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScript中的Primitive對象封裝介紹,本文著重講解封裝過程,然后給出示例代碼,需要的朋友可以參考下
 
 

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

 

1.當JavaScript遇到對string值進行屬性訪問或者方法調用時,會調用new String(字符串值)自動將該string封裝成一個String對象。
2.JavaScript會訪問這個新創建的對象的屬性或者方法,并返回相應的結果。
3.屬性訪問或者方法調用結束后,JavaScript將立即銷毀這個新創建的對象。

 

以下面的代碼為例,對JavaScript自動創建的String對象進行屬性寫入操作沒有任何意義,因為這個創建出來的對象在寫入語句結束后就不復存在了:

 

復制代碼代碼如下:

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變量所表示的永遠是primitive的字符串,JavaScript所自動創建的字符串對象存在于執行s.length或者s.newVariable操作的過程中。這可以從以上實驗的最后一行代碼中得到驗證。

 

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

 

復制代碼代碼如下:

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

 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 德安县| 沧州市| 财经| 望城县| 松溪县| 黑龙江省| 富民县| 武穴市| 延寿县| 怀化市| 淮安市| 新郑市| 册亨县| 石嘴山市| 义乌市| 定南县| 武夷山市| 鄱阳县| 晋城| 安西县| 丰顺县| 东兴市| 冀州市| 莱阳市| 通渭县| 肃南| 衢州市| 阜宁县| 涟水县| 霍林郭勒市| 江都市| 漠河县| 依兰县| 门源| 城口县| 鄱阳县| 德安县| 荥经县| 安福县| 临清市| 红原县|