91aaa在线国内观看,亚洲AV午夜福利精品一区二区,久久偷拍人视频,久久播这里有免费视播

<strong id="fvuar"></strong>

  • <sub id="fvuar"><dl id="fvuar"><em id="fvuar"></em></dl></sub>

    1. 千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

      手機站
      千鋒教育

      千鋒學習站 | 隨時隨地免費學

      千鋒教育

      掃一掃進入千鋒手機站

      領取全套視頻
      千鋒教育

      關注千鋒學習站小程序
      隨時隨地免費學習課程

      當前位置:首頁  >  技術干貨  > JavaScript中的隱形轉換

      JavaScript中的隱形轉換

      來源:千鋒教育
      發(fā)布人:qyf
      時間: 2022-07-27 17:26:00 1658913960

        javascript是一門弱類型語言,意思就是語言中的數(shù)據(jù)類型,很輕易就能被改變

        比如定義一個變量值為數(shù)字,然后重新給他賦值為字符串,類型就由數(shù)字類型轉為了字符串類型。

        類型的轉換,可以有很多種方法,例如在js中常用的parseInt、toString、等方法,這些方法都是強制將某個類型轉為指定的類型。

        除了這些方法,還有一些特殊應用場景,會將類型悄悄的進行轉換,如下幾種情況:

        1、數(shù)學運算

        如果一個數(shù)字跟另一個其他類型的數(shù)據(jù)進行數(shù)學運算時,另一個數(shù)據(jù)會被轉為數(shù)字類型進行運算,例:

        var a = 1;

        var b = true;

        var c = a + b;

        console.log(c); // 2 - 此時的布爾類型true被轉為了數(shù)字1,進行了數(shù)學加法運算

        var a = 3;

        var b = undefined;

        var c = a + b;

        console.log(c); // NaN - 此時的b被轉為了數(shù)字類型進行了數(shù)學運算

        注意:加法比較特殊,因為符號+,除了可以進行數(shù)學加法以外,還可以進行字符串的拼接。例:

        var a = 2;

        var b = [1,2,3]

        var c = a / b;

        console.log(c); // NaN - 此時的b被轉為了數(shù)字類型

        var a = 2;

        var b = [1,2,3]

        var c = a + b;

        console.log(c); // 21,2,3 - 此時的a和b不再是加法運算,而是進行了拼接

        2、字符串拼接

        當+符號左右兩邊有一個是字符串的時候,另一個也會轉為字符串進行拼接,例:

        var a = 2;

        var b = '3';

        var c = a + b;

        console.log(c); // 23 - 此時的a被轉為了字符串,進行了拼接

        3、比較運算

        當比較運算符(除相等比較和全等比較)左右兩邊有一個是數(shù)字的時候,另一個也會轉為數(shù)字進行比較大小,例:

        var a = 2;

        var b = '10';

        console.log(a>b) // false - 說明b被轉為數(shù)字10進行了大小比較

        4、判斷條件

        所有被放在if分支語句的小括號中的代碼會被轉為布爾類型,例:

        var a = 2;

        if(a){

        console.log('a變量是true'); // a變量是true - 說明變量a的2被轉為了布爾值true

        }else{

        console.log('a變量是false');

        }

        var b;

        if(b){

        console.log('b變量是true');

        }else{

        console.log('b變量是false'); // b變量是false - 說明b變量undefined被轉為了布爾值false

        }

        5、date輸出

        我們知道,new 一個構造函數(shù)會得到一個對象,但是new Date()之后,輸出的卻是一個字符串,例:

        var d = new Date();

        console.log(d); // Mon Mar 15 2021 17:50:25 GMT+0800 (中國標準時間)

        // 這說明,new出來的對象d,在輸出的時候被悄悄的轉換成了字符串輸出了

        6、對象數(shù)組輸出在頁面

        當在控制臺輸出一個數(shù)組或對象的時候,是本省的類型顯示,例:

        var arr = [1,2,3,4];

        var obj = {name:"張三",age:12}

        console.log(arr);

        console.log(obj);

        輸出效果如下圖:

      圖片 1

        但是如果將數(shù)組或對象在文本中輸出的話,數(shù)組和對象會默認調用自己原型中的toString方法,以字符串形式顯示在文本中,例:

        var arr = [1,2,3,4];

        var obj = {name:"張三",age:12}

        document.write(arr)

        document.write(obj)

        文本中顯示如下:

      圖片 2

        數(shù)組和對象其實已經(jīng)調用了他們原型上的toString方法,被轉為了字符串,例:

        var arr = [1,2,3,4];

        var obj = {name:"張三",age:12}

        console.log(arr.toString());

        console.log(obj.toString());

        控制臺顯示如下圖:

      圖片 3

        隱形轉換在多處出現(xiàn),我們在編程的時候,需要謹慎小心,熟悉后可以對之進行利用,例如判斷一個數(shù)據(jù)或對象中的值是否存在時,可以利用分支語句的條件中的隱形轉換來搞定。

      tags:
      聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。
      10年以上業(yè)內強師集結,手把手帶你蛻變精英
      請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
      免費領取
      今日已有369人領取成功
      劉同學 138****2860 剛剛成功領取
      王同學 131****2015 剛剛成功領取
      張同學 133****4652 剛剛成功領取
      李同學 135****8607 剛剛成功領取
      楊同學 132****5667 剛剛成功領取
      岳同學 134****6652 剛剛成功領取
      梁同學 157****2950 剛剛成功領取
      劉同學 189****1015 剛剛成功領取
      張同學 155****4678 剛剛成功領取
      鄒同學 139****2907 剛剛成功領取
      董同學 138****2867 剛剛成功領取
      周同學 136****3602 剛剛成功領取
      相關推薦HOT
      云快照與自動備份有什么區(qū)別?

      1、定義和目標不同云快照的主要目標是提供一種快速恢復數(shù)據(jù)的方法,它只記錄在快照時間點后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標...詳情>>

      2023-10-14 12:48:59
      服務器為什么要用Linux?

      服務器為什么要用Linux作為服務器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務器操作系統(tǒng)的優(yōu)選,有其獨特的優(yōu)勢和特點。包括其...詳情>>

      2023-10-14 12:34:11
      ORM解決的主要問題是什么?

      ORM(對象關系映射)解決的主要問題是將關系數(shù)據(jù)庫與面向對象編程之間的映射困境。在傳統(tǒng)的關系數(shù)據(jù)庫中,數(shù)據(jù)以表格的形式存儲,而在面向對象...詳情>>

      2023-10-14 12:26:19
      Go為什么不支持三元運算符?

      Go為什么不支持三元運算符Go語言是一種以簡潔和有效性為目標的編程語言,因此在設計過程中,Go的設計者刻意排除了一些他們認為可能導致復雜性或...詳情>>

      2023-10-14 12:12:36
      IT通常說的平臺是什么意思?

      在信息技術(IT)領域,”平臺”這個詞有著廣泛的含義,它常常指代支持軟件應用開發(fā)和運行的基礎框架和環(huán)境。以下是對”平臺”這個概念的更深入...詳情>>

      2023-10-14 11:55:36