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

首頁 > 編程 > JavaScript > 正文

JavaScript中的Primitive對象封裝介紹

2019-11-20 13:32:18
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商丘市| 靖宇县| 扎赉特旗| 江永县| 涞水县| 金塔县| 和静县| 永顺县| 镇巴县| 界首市| 政和县| 慈利县| 万盛区| 恩平市| 龙门县| 同江市| 平湖市| 海淀区| 祥云县| 贡觉县| 沂源县| 呼图壁县| 正阳县| 耿马| 上蔡县| 夏河县| 瑞丽市| 揭东县| 上饶县| 巴南区| 余姚市| 二连浩特市| 徐水县| 小金县| 德庆县| 静宁县| 乌兰浩特市| 连城县| 南城县| 兴安县| 邵阳县|