一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

javascript包裝對象的用法

時(shí)間:2024-09-02 02:10:43 JavaScript 我要投稿
  • 相關(guān)推薦

javascript包裝對象的用法

  js對象是一種復合值:它是屬性或已命名值得集合。

  參考以下代碼:

  var s = "hello world";var len = s.length;

  在該例子中,s是字符串,而字符串不是對象,但為何會(huì )有屬性呢?其實(shí)只要引用了字符串s的屬性,js就會(huì )將字符串通過(guò)調用new String(s)的方式轉換為對象,該對象繼承了字符串的方法,并被用來(lái)處理屬性的引用;一旦屬性引用結束,這個(gè)新創(chuàng )建的對象就會(huì )被銷(xiāo)毀(在實(shí)現上并不一定創(chuàng )建或銷(xiāo)毀這個(gè)臨時(shí)對象,但整個(gè)過(guò)程看來(lái)是這樣)。

  同字符串一樣,數字和布爾值也具有各自的方法:通過(guò)Number()單核Boolean()構造函數創(chuàng )建臨時(shí)對象,這些方法的調用都是來(lái)自于這個(gè)臨時(shí)對象;然而null和undefined沒(méi)有包裝對象:訪(fǎng)問(wèn)他們的屬性會(huì )造成類(lèi)型錯誤。

  比如以下代碼:

  var s0 = "hello world";s0.len = 100;var t = s.len; //t的值將為undefined

  因為第2行創(chuàng )建臨時(shí)對象后,立即將其銷(xiāo)毀;第三行通過(guò)原始的字符串值創(chuàng )建一個(gè)新字符串對象,嘗試讀取其len屬性,自然不存在。這段代碼說(shuō)明在讀取字符串、數字和布爾值的屬性值或方法時(shí),表現的像對象一樣。但如果你試圖給其屬性賦值,則會(huì )忽略這個(gè)操作:修改只是發(fā)生在臨時(shí)對象上,而這個(gè)臨時(shí)對象并未繼續保留下來(lái)。

  存取字符串、數字或布爾值的屬性時(shí)臨時(shí)創(chuàng )建臨時(shí)對象稱(chēng)為包裝對象。

  我們可以顯示建立一個(gè)字符串對象然后增添它的屬性,自然該屬性會(huì )一直保留下來(lái):

  var str = "hello world";var objs = new String(str);objs.len = 100;var t = objs.len; //t將被賦值為100

  js會(huì )在必要時(shí)將包裝對象轉換為原始值因此顯示創(chuàng )建的對象和其對應的原始值常常但不總是表現的一樣。==運算符將原始值和其包裝對象視為相等;但===全等運算符將他們視為不等;另外通過(guò)typeof運算符可以看到原始值和包裝對象的不同。

  希望本文所述對大家的javascript程序設計有所幫助。

【javascript包裝對象的用法】相關(guān)文章:

Javascript的this用法簡(jiǎn)述08-15

javascript面向對象中的對象怎么理解09-02

Javascript中typeof 用法歸納09-27

javascript克隆對象深度介紹07-25

Javascript函數的定義和用法分析08-15

javascript分析運算符用法08-07

JavaScript中的三種對象10-24

使用ajax操作JavaScript對象的方法09-28

關(guān)于javascript對象之內置和對象Math的使用方法10-08

JavaScript高級程序設計:本地對象Array10-22

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看