js中為什麼值型別可以使用方法和屬性
關於值型別和引用型別具體這裡就不多介紹了,具體可以參閱javascript值型別和引用型別一章節。在理論上,值型別是沒有屬性和方法的,所以也就不能夠使用屬性和方法,但是在實際的應用中卻並非如此,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼var webName="antzone"; console.log(webName.length);
上面程式碼中的值型別資料webName,卻使用了length屬性。
這其中的原因主要是因為點(.)導致的,大家都知道點的一個很重要的作用是訪問物件中的屬性,但是這裡的點遇到左側的值型別後是進行一定的轉換,類似於下面的型別轉換,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼var num="3"-2; console.log(num);
在以上程式碼中,字串直接量使用了length屬性,這是因為點的左側需要一個物件,所以就會使用內建的ToObject()方法會對其進行轉換,於是就可以使用length屬性了,當然並不是由點直接完成轉換的,內部會進行了其他操作,這裡就不多介紹了,只要大家大體明白是怎麼回事就可以了,有興趣的朋友可以自行閱讀相關文件。
相關文章
- js中為什麼基本型別資料可以使用屬性和方法JS型別
- js中物件的屬性可以列舉是什麼意思JS物件
- javascript為什麼字串直接量可以使用屬性和方法JavaScript字串
- js 物件使用點和中括號存取屬性區別是什麼JS物件
- 獲取物件屬性型別、屬性名稱、屬性值的研究:反射和JEXL解析引擎物件型別反射
- tabIndex屬性值為負數的作用是什麼Index
- Python類屬性和例項屬性分別是什麼?Python
- 為什麼基本型別可以呼叫方法——以字串為例型別字串
- javascript值型別是什麼JavaScript型別
- 我們為什麼推薦在Json中使用string表示Number屬性值?JSON
- 為 protocol 中屬性新增預設值Protocol
- js使用id屬性值就可以引用一個物件JS物件
- python屬性和方法的區別是什麼Python
- 為什麼阿里巴巴強制要求使用包裝型別定義屬性?阿里型別
- String型別的屬性和方法型別
- 產品集型別和屬性表型別
- scss中如果將null作為屬性值會刪除此屬性CSSNull
- CSS中可以和不可以繼承的屬性CSS繼承
- javascript獲取物件直接量中的屬性和屬性值JavaScript物件
- jsp,struts,mysql分頁_Iterator有沒屬性可以傳值?JSMySql
- offsetWidth和clientWidth屬性的區別是什麼client
- css中sticky屬性是什麼CSS
- [譯] JavaScript 中為什麼會有 Symbol 型別?JavaScriptSymbol型別
- 為什麼列印物件,點開檢視某屬性有值,但是直接列印無值物件
- 為什麼Javascript需要型別?JavaScript型別
- html中Position屬性值介紹和position屬性四種用法HTML
- js為物件新增和刪除屬性JS物件
- 為什麼 Go 裡值為 nil 可以呼叫函式?Go函式
- js如何獲取給定屬性的屬性值JS
- 可空型別為什麼可以為空?也許會被面試到哦。。。型別面試
- JavaScript 三種方法,可以確定一個值到底是什麼型別JavaScript型別
- excel屬於什麼型別的軟體Excel型別
- C#反射設定屬性值和獲取屬性值C#反射
- 值型別和引用型別型別
- Java中基本資料型別和包裝型別有什麼區別?Java資料型別
- Linux系統把時間型別值轉換為數值型的方法是什麼?Linux型別
- java泛型中<?>和<T>有什麼區別?Java泛型
- Hibernate 對映xml中的屬性型別XML型別