日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

你不知道的JavaScript(二)

發(fā)布時間:2023/12/6 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 你不知道的JavaScript(二) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第三章 原生函數(shù)

JS有很多原生函數(shù),為基本的數(shù)據(jù)類型值提供了封裝對象,String,Number,Boolean等。我們可以通過{}.call.toString()來查看所有typeof返回object的對象的內(nèi)置屬性[[class]],這個屬性無法直接訪問。我們基本類型調用的方法和屬性都是通過封裝對象去訪問的,例如var a = “abc”; a.length//3,但是有一點需要注意的是new Boolean(false)//true,為false封裝對象時,它是一個真值(即總是返回true),平時在用到封裝對象中的基本類型值的時候,JS會發(fā)生隱式拆封。

第四章 強制類型轉換

強制類型轉換是JS里難以掌握的,但是在實際應用中它又是很有用處的,我們十分有必要去深入理解和合理運用它。類型轉換有顯式和隱式之分,后者就是強制類型轉換,例如var a = 42; var b = a + “”;//“42”,這里數(shù)字a被轉換為了字符串b。

非字符串轉換為字符串,在沒有自行定義的情況下,普通對象調用toString方法返回內(nèi)部的[[Class]]值,JSON.Stringfy函數(shù)在將對象序列化為字符串時,如果定義了toJSON方法就會首先調用該方法,用返回值進行序列化,在數(shù)組中如果遇到undefined,空function,那么會在對應位置返回null以保證單元位置不變。

在將非數(shù)字值轉換為數(shù)字時就會進行ToNumber操作,false轉換為0,true轉換為1,undefined轉換為NaN,null轉換為0,對于對象來說,會首先調用valueOf,沒有就調用toString來返回基本類型,然后再強制轉換為數(shù)字值,如果均不返回數(shù)字,則會報錯。 轉換為布爾值時,從邏輯上說,出現(xiàn)在假值列表上的才為假值,+0,-0,infinite,null,undefined,””,NaN等,要特別注意的是這些假值封裝的對象是真值(所有對象都是真值),除了””以外的字符串也都是真值。

~這個符號能有奇妙的功能,~X可以視為-(X+1)。通常用+X來把X轉換為數(shù)字,用X+””來將X轉換為字符串,用X|0來將X取整。

對于+運算符,先是調用toString進行字符串拼接,如果不行就用valueOf轉換為數(shù)字,進行加法操作。

對于比較運算,數(shù)字和字符串比較先轉化為數(shù)字,如果有布爾類型就將布爾類型轉換為數(shù)字,字符串或數(shù)字和對象比較,先把對象用toString,valueOf轉換為字符串或者數(shù)字。

轉載于:https://juejin.im/post/5aa800626fb9a028d375166d

總結

以上是生活随笔為你收集整理的你不知道的JavaScript(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。