<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        簡單介紹JavaScript數據類型之隱式類型轉換_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 21:48:04
        文檔

        簡單介紹JavaScript數據類型之隱式類型轉換_javascript技巧

        簡單介紹JavaScript數據類型之隱式類型轉換_javascript技巧:JavaScript的數據類型分為六種,分別為null,undefined,boolean,string,number,object。object是引用類型,其它的五種是基本類型或者是原始類型。我們可以用typeof方法打印來某個是屬于哪個類型的。不同類型的變量比較要先轉類型,叫做類型轉換,類型轉換也叫
        推薦度:
        導讀簡單介紹JavaScript數據類型之隱式類型轉換_javascript技巧:JavaScript的數據類型分為六種,分別為null,undefined,boolean,string,number,object。object是引用類型,其它的五種是基本類型或者是原始類型。我們可以用typeof方法打印來某個是屬于哪個類型的。不同類型的變量比較要先轉類型,叫做類型轉換,類型轉換也叫

        JavaScript的數據類型分為六種,分別為null,undefined,boolean,string,number,object。object是引用類型,其它的五種是基本類型或者是原始類型。我們可以用typeof方法打印來某個是屬于哪個類型的。不同類型的變量比較要先轉類型,叫做類型轉換,類型轉換也叫隱式轉換。隱式轉換通常發生在運算符加減乘除,等于,還有小于,大于等。

        本章節單獨介紹一下javascript中的隱式數據類型轉換,對于它的良好掌握,在實際應用能夠簡化很多操作。

        看如下代碼實例:

        上面的代碼就是將數組隱式轉換為字符串的一個操作,是不是要比下面的方式要簡單不少:

        像上面類似的隱式數據類型轉換在實際編碼中應用很多,下面進入正題。

        一.值類型之間的數據類型轉換:

        javascript中的數據類型可以參閱javascript數據類型詳解一章節。

        (1).數字和字符串使用+運算符:

        數字和字符串如果使用+運算符進行操作,那么會將數字先轉換為字符串,然后進行字符串連接操作:

        (2).布爾值參與的+運算符操作:

        如果有布爾型參與,那么首先會將布爾值轉換為對應的數字或者字符串,然后再進行相應的字符串連接或者算數運算。

        上面的代碼是先將true轉換為數字1,然后再進行算數加運算。

        上面的布爾值會被轉換為對應的字符串形式"true",然后再進行字符串連接。

        (3).減法操作:

        如果進行減法操作,那么兩個操作數都會先被轉換為數字,然后在進行算數運算:

        true會被轉換為數字1,字符串"8"會被轉換為數字8,然后進行算術運算。

        乘,除,大于,小于跟減的轉換也是一樣,就不再舉例子了。

        (4).==等性運算:

        undefined和null比較特殊,它們兩個使用==運算符返回值是true。

        其他值類型進行比較的時候都會將運算數轉換為數字

        上面的代碼會將字符串"3"轉換成數字,然后再進行比較。

        上面的代碼會分別將"1"和true轉換成數字,然后進行比較。

        二.引用類型轉值類型:

        引用類型(對象)轉換為值類型則要復雜很多,下面分布展開介紹。

        對象繼承的兩個方法可以幫助我們實現對象到值類型的轉換功能:

        (1).toString()方法。

        (2).valueOf()方法。

        通常情況下我們認為,將一個對象轉換為字符串要調用toString()方法,轉換為數字要調用valueOf()方法,但是真正應用的時候并沒有這么簡單,看如下代碼實例:

        從上面的代碼可以看出,toString()方法并沒有將對象轉換為一個能夠反映此對象的字符串。

        從上面的代碼可以看出,valueOf()方法并沒有將對象轉換為能夠反映此對象的一個數字。

        數組對象的toString()方法能夠將數組轉換為能夠反映此數組對象的字符串。

        總結如下:

        (1).有些對象只是簡單繼承了toString()或者valueOf()方法,比如第一個例子。
        (2).有些對象則不但是繼承了兩個方法,而且還進行了重寫。

        所以有些對象的方法能夠達成轉換成字符串或者數字的目標,有些則不能。

        調用toString()或者valueOf()將對象轉換成字符串或者數字的規則如下:

        調用toString()時,如果對象具有這個方法,則調用此方法;如果此方法返回一個值類型數據,那么就返回這個值類型數據,然后再根據所處的上下文環境進行相關數據類型轉換。如果沒有toString(),或者此方法返回值并不是一個值類型數據,那么就會調用valueOf()(如果此方法存在的話),如果valueOf()返回一個值類型數據,那么再根據所處的上下文環境進行相關的數據類型轉換。

        進一步說明:

        (1).上面介紹了通常默認情況下valueOf()和toString()方法的作用(將對象轉換為數字或者字符串),但是需要注意的是,這并不是硬性規定,也就是說并不是valueOf()方法必須要返回數字或者toString()方法必須要轉換為字符串,比如簡單繼承的這兩個方法就無法進行實現轉換為數字和字符串的功能,再比如,我們可以自己稱謝這兩個方法,返回值也沒有必要是數字或者字符串。

        (2).還有需要特別注意的一點就是,很多朋友認為,轉換為字符串首先要調用toString()方法, 其實這是錯誤的認識,我們應該這么理解,調用toString()方法可以轉換為字符串,但不一定轉換字符串就是首先調用toString()方法。

        看如下代碼實例:

        上面的代碼中,arr是要被轉換為字符串的,但是很明顯是調用的valueOf()方法,而沒有調用toString()方法。有些朋友可能會有這樣的質疑,難道[2]這樣的數字轉換成字符串"2",不是調用的toString()方法嗎。

        代碼如下:

        其實過程是這樣的,首先arr會首先調用valueOf()方法,但是數字的此方法是簡單繼承而來,并沒有重寫(當然這個重寫不是我們實現),返回值是數組對象本身,并不是一個值類型,所以就轉而調用toString()方法,于是就實現了轉換為字符串的目的。

        總結如下:

        大多數對象隱式轉換為值類型都是首先嘗試調用valueOf()方法。但是Date對象是個例外,此對象的valueOf()和toString()方法都經過精心重寫,默認是調用toString()方法,比如使用+運算符,如果在其他算數運算環境中,則會轉而調用valueOf()方法。

        代碼實例如下:

        以上內容是小編給大家介紹的JavaScript數據類型之隱式類型轉換的全部內容,希望大家喜歡。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        簡單介紹JavaScript數據類型之隱式類型轉換_javascript技巧

        簡單介紹JavaScript數據類型之隱式類型轉換_javascript技巧:JavaScript的數據類型分為六種,分別為null,undefined,boolean,string,number,object。object是引用類型,其它的五種是基本類型或者是原始類型。我們可以用typeof方法打印來某個是屬于哪個類型的。不同類型的變量比較要先轉類型,叫做類型轉換,類型轉換也叫
        推薦度:
        標簽: 介紹 簡單 js
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产线视频精品免费观看视频| 美女扒开尿口给男人爽免费视频| 伊人免费在线观看| 中文字幕第13亚洲另类| 国产成人精品免费大全| 国产亚洲老熟女视频| 中文字幕成人免费高清在线视频| 久久国产成人亚洲精品影院| 两个人看www免费视频| 亚洲国产精品无码久久一区二区| 国产精品免费无遮挡无码永久视频| 亚洲精品国产成人99久久| 1区2区3区产品乱码免费| 亚洲国产日韩在线成人蜜芽| 成人性生交大片免费看无遮挡| 亚洲色中文字幕在线播放| 免费人成在线观看播放国产| 一级特黄色毛片免费看| 久久久久久a亚洲欧洲aⅴ| 91视频免费网址| 亚洲日韩国产AV无码无码精品| 日韩a级毛片免费观看| 亚洲日韩在线观看免费视频| 亚洲AV色香蕉一区二区| 国产大片线上免费观看| 日本中文字幕免费看| 亚洲国产第一站精品蜜芽| av无码免费一区二区三区| 国产精品亚洲а∨无码播放不卡| 亚洲国产精品一区二区九九| 久久aa毛片免费播放嗯啊| 亚洲日韩国产精品乱-久| 亚洲人妻av伦理| 四虎1515hh永久久免费| 美女免费视频一区二区| 亚洲高清在线视频| 黄网址在线永久免费观看 | 久草免费在线观看视频| 亚洲国产精品成人AV在线| 人人狠狠综合久久亚洲婷婷| 国产一卡二卡3卡四卡免费|