成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

你不知道的JavaScript(二)

macg0406 / 1633人閱讀

摘要:第三章原生函數(shù)有很多原生函數(shù),為基本的數(shù)據(jù)類型值提供了封裝對象,,,等。我們可以通過來查看所有返回的對象的內(nèi)置屬性這個屬性無法直接訪問。這個符號能有奇妙的功能,可以視為。通常用來把轉(zhuǎn)換為數(shù)字,用來將轉(zhuǎn)換為字符串,用來將取整。

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

第四章 強(qiáng)制類型轉(zhuǎn)換

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

非字符串轉(zhuǎn)換為字符串,在沒有自行定義的情況下,普通對象調(diào)用toString方法返回內(nèi)部的[[Class]]值,JSON.Stringfy函數(shù)在將對象序列化為字符串時,如果定義了toJSON方法就會首先調(diào)用該方法,用返回值進(jìn)行序列化,在數(shù)組中如果遇到undefined,空function,那么會在對應(yīng)位置返回null以保證單元位置不變。
在將非數(shù)字值轉(zhuǎn)換為數(shù)字時就會進(jìn)行ToNumber操作,false轉(zhuǎn)換為0,true轉(zhuǎn)換為1,undefined轉(zhuǎn)換為NaN,null轉(zhuǎn)換為0,對于對象來說,會首先調(diào)用valueOf,沒有就調(diào)用toString來返回基本類型,然后再強(qiáng)制轉(zhuǎn)換為數(shù)字值,如果均不返回?cái)?shù)字,則會報(bào)錯。

轉(zhuǎn)換為布爾值時,從邏輯上說,出現(xiàn)在假值列表上的才為假值,+0,-0,infinite,null,undefined,””,NaN等,要特別注意的是這些假值封裝的對象是真值(所有對象都是真值),除了””以外的字符串也都是真值。
~這個符號能有奇妙的功能,~X可以視為-(X+1)。通常用+X來把X轉(zhuǎn)換為數(shù)字,用X+””來將X轉(zhuǎn)換為字符串,用X|0來將X取整。

對于+運(yùn)算符,先是調(diào)用toString進(jìn)行字符串拼接,如果不行就用valueOf轉(zhuǎn)換為數(shù)字,進(jìn)行加法操作。
對于比較運(yùn)算,數(shù)字和字符串比較先轉(zhuǎn)化為數(shù)字,如果有布爾類型就將布爾類型轉(zhuǎn)換為數(shù)字,字符串或數(shù)字和對象比較,先把對象用toString,valueOf轉(zhuǎn)換為字符串或者數(shù)字。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/93425.html

相關(guān)文章

  • JS編譯之 LHS RHS(你不知道JavaScript 小記一)

    摘要:關(guān)于兩個專業(yè)術(shù)語的討論起自對你不知道的一書的閱讀學(xué)習(xí)。遇到,編譯器會詢問作用域是否已經(jīng)有一個該名稱的變量存在于同一個作用域的集合中。摘錄來自你不知道的。 JS 編譯之 LHS RHS 一、前言 最近和朋友聊技術(shù)的時候,聊到 LHS RHS,我竟然沒聽說過 沒聽說過。。。 于是成功引起了我的好奇心。 關(guān)于兩個專業(yè)術(shù)語的討論起自對《你不知道的JavaScript》一書的閱讀學(xué)習(xí)。 二、編譯...

    Cristic 評論0 收藏0
  • JavaScript 你不知道基本包裝類型

    摘要:你不知道的基本包裝類型聲明本文的大部分內(nèi)容參考自高級程序設(shè)計(jì)第三版中文版,中間夾雜一些自己閱讀這部分內(nèi)容時的思路。而且,上面的步驟同樣適用于類型的類型對應(yīng)的布爾值和數(shù)字值。 JavaScript 你不知道的基本包裝類型 聲明:本文的大部分內(nèi)容參考自《JavaScript 高級程序設(shè)計(jì)(第三版)》(中文版 P.118),中間夾雜一些自己閱讀這部分內(nèi)容時的思路。 JavaScript 中共...

    xingpingz 評論0 收藏0
  • 你不知道JavaScript : 類型

    摘要:你不知道的系列第一章類型類型一中的類型中的變量是不存在類型的,只有具體的值才有類型。 你不知道的JavaScript系列---第一章:類型 類型 一、JavaScript中的類型 JavaScript中的變量是不存在類型的,只有具體的值才有類型。 Js不像其他高級語言,如java等,聲明了一個int類型的變量,就必須存放int類型的值,Js中的變量可以存放其允許的所有類型的值,如: ...

    史占廣 評論0 收藏0
  • 你不知道this

    摘要:本內(nèi)容來自你不知道的上卷,做了簡單的總結(jié)。如果不使用這段代碼該如何寫呢那就需要給和顯示傳入一個上下文對象對比發(fā)現(xiàn)提供了額一種更優(yōu)雅的方式來隱式傳遞一個對象引用。四總結(jié)隨著你使用的模式越來越復(fù)雜,顯式傳遞上下文對象會讓代碼變得越來越混亂。 本內(nèi)容來自《你不知道的JavaScript(上卷)》,做了簡單的總結(jié)。 this關(guān)鍵字是javascript最復(fù)雜的機(jī)制之一。它是一個很特別的關(guān)鍵字,...

    terasum 評論0 收藏0
  • 你不知道CSS(

    摘要:用來控制表格單元格寬度你也許遇到過給表格設(shè)置了寬度,但是不起作用的問題。這是因?yàn)閱卧竦膶挾仁歉鶕?jù)其內(nèi)容進(jìn)行調(diào)整的。顯而易見的,默認(rèn)情況下,單元格寬度受其內(nèi)容約束。而設(shè)置了后,其單元格寬度變得可控了。 本文首發(fā)于我的博客在上文《你不知道的CSS(一)》中,介紹了兄弟選擇器美化表單,font-size:0消除間隙,overflow清除浮動,border繪制三角形等7個實(shí)用技巧。由于文章長...

    sewerganger 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<