国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript的類型轉(zhuǎn)換與各種運(yùn)算符

Aklman / 2549人閱讀

摘要:第十七天筆記類型轉(zhuǎn)換隱式類型轉(zhuǎn)換隱式類型轉(zhuǎn)換是弱類型松散類型的在任何情況下都可以強(qiáng)制轉(zhuǎn)換定義類型類型以及類型的變量臥龍前端轉(zhuǎn)換為類型轉(zhuǎn)換為類型類型轉(zhuǎn)換為類型如果文本內(nèi)容是普通的文本非數(shù)字轉(zhuǎn)換后的結(jié)果為如果文本內(nèi)容是數(shù)字值轉(zhuǎn)換后的結(jié)果為對(duì)

第十七天筆記 類型轉(zhuǎn)換 隱式類型轉(zhuǎn)換

隱式類型轉(zhuǎn)換

JavaScript是弱類型/松散類型的 在任何情況下都可以強(qiáng)制轉(zhuǎn)換

//定義number類型 string類型以及boolean類型的變量
    var num = 100;
    var str = "臥龍前端";
    var boo = false;

    // 1.轉(zhuǎn)換為string類型
    var result1 = "" + num;// 100
    console.log(typeof result1);// string
    var result2 = boo + "";// true
    console.log(typeof result2);// string

/*
    2.轉(zhuǎn)換為number類型
     * string類型轉(zhuǎn)換為number類型
      * 如果文本內(nèi)容是普通的文本(非數(shù)字) -> 轉(zhuǎn)換后的結(jié)果為 NaN
      * 如果文本內(nèi)容是數(shù)字值 -> 轉(zhuǎn)換后的結(jié)果為對(duì)應(yīng)數(shù)字值
     * boolean類型轉(zhuǎn)換為number類型
      * true轉(zhuǎn)換為1
      * false轉(zhuǎn)換為0
*/
    var result3 = +str;
    console.log(result3);// NaN
    console.log(typeof result3);// number
    var result4 = +boo;
    console.log(result4);// true為1,false為0
    console.log(typeof result4);// number

/*
    3.轉(zhuǎn)換為boolean類型
      * string類型轉(zhuǎn)換為boolean類型
      * 空字符串(""或"")轉(zhuǎn)換后的結(jié)果為false,其余情況都為true
      * number類型轉(zhuǎn)換為boolean類型
      * 0或NaN轉(zhuǎn)換后的結(jié)果為false,其余情況都為true
      * undefined或null轉(zhuǎn)換后的結(jié)果為false
*/
    var result5 = !!str;
    console.log(result5);// true
    console.log(typeof result5);// boolean
    var result6 = !!num;
    console.log(result6);// true
    console.log(typeof result6);// boolean

顯式類型轉(zhuǎn)換

使用JavaScript的包裝類型的構(gòu)造函數(shù)進(jìn)行類型轉(zhuǎn)換
使用數(shù)據(jù)類型的轉(zhuǎn)換函數(shù)進(jìn)行類型轉(zhuǎn)換

//定義number類型、string類型以及boolean類型的變量
    var num = 100;
    var str = "臥龍學(xué)苑";
    var str1 = "100";
    var str2 = "100.7"
    var boo = false;

/*
    1.轉(zhuǎn)換為string類型
    * String()函數(shù) -> String(值)
    * toString()方法 -> 變量名.toString()
    * 對(duì)象的方法 -> 將變量當(dāng)作是一個(gè)對(duì)象來使用
*/
    var result1 = String(num);
    console.log(typeof result1);// string
    var result2 = num.toString();
    console.log(typeof result2);// string

/*
    2.轉(zhuǎn)換為number類型
    * Number()函數(shù) -> Number(值)
    * parseInt()函數(shù) -> parseInt(值)
    * 轉(zhuǎn)換為number類型,轉(zhuǎn)換為一個(gè)整數(shù)
    * parseFloat()函數(shù) -> parseFloat(值)
    * 轉(zhuǎn)換為number類型,轉(zhuǎn)換為一個(gè)浮點(diǎn)數(shù)
*/
    var result3 = Number(boo);
    console.log(typeof result3);// number

    var result4 = parseInt(str1);
    console.log(typeof result4);// 100
    var result5 = parseFloat(str1);// 100
    console.log(result5);// 100

    var result6 = parseInt(str2);// 100.1
    console.log(result6);// 如果當(dāng)前值為小數(shù)的話,parseInt()后取整數(shù)部分 - 100
    var result7 = parseFloat(str2);// 100.1
    console.log(result7);// 100.1

/*
    3.轉(zhuǎn)換為boolean類型
     * Boolean()函數(shù) -> Boolean(值)
*/
    var result8 = Boolean(str);
    console.log(result8);// true

總結(jié):
隱式類型轉(zhuǎn)換與顯式類型轉(zhuǎn)換的區(qū)別:
a.隱式轉(zhuǎn)換類型
優(yōu)點(diǎn):性能好
缺點(diǎn):可讀性差
b.顯式轉(zhuǎn)換類型
優(yōu)點(diǎn):可讀性高
缺點(diǎn):性能差
需要注意的是:任何不能正確轉(zhuǎn)換為數(shù)字值的內(nèi)容 轉(zhuǎn)換成Number類型后得到的結(jié)果都是NaN

運(yùn)算符 運(yùn)算符概述

JavaScript提供了一組用于操作數(shù)據(jù)值的運(yùn)算符 又稱為操作符
運(yùn)算符可以按照作用的不同 或者操作變量數(shù)量的不同進(jìn)行分類

算數(shù)運(yùn)算符

1.如果運(yùn)算數(shù)中的一個(gè)或兩個(gè)是字符串類型 JavaScript會(huì)自動(dòng)轉(zhuǎn)換為數(shù)字值 在進(jìn)行計(jì)算
2.如果運(yùn)算數(shù)中的一個(gè)換兩個(gè)是字符串類型 但其中的字符不是數(shù)字 JavaScript會(huì)自動(dòng)轉(zhuǎn)換數(shù)字值的到NaN結(jié)果
3.任何一個(gè)運(yùn)算數(shù)都是NaN 結(jié)果都是NaN
4.布爾值false和true會(huì)轉(zhuǎn)轉(zhuǎn)為0和1進(jìn)行計(jì)算

加法運(yùn)算符

1.如果兩個(gè)操作數(shù)都是數(shù)字值的話 會(huì)進(jìn)行加法計(jì)算
2.如果字符串進(jìn)行加法計(jì)算 - 字符串連接運(yùn)算符(拼串)
3.如果布爾類型進(jìn)行加法計(jì)算 - 將布爾類型轉(zhuǎn)換為數(shù)字值 再進(jìn)行加法計(jì)算

減法運(yùn)算符

1.減法運(yùn)算之前 先將其他類型轉(zhuǎn)換為number類型 再進(jìn)行計(jì)算
2.如果字符串進(jìn)行減法計(jì)算的話 - 將字符串類型轉(zhuǎn)換為數(shù)字值 再進(jìn)行減法計(jì)算
3.如果布爾類型進(jìn)行減法計(jì)算 - 將布爾類型轉(zhuǎn)換為數(shù)字值,再進(jìn)行減法計(jì)算

求余運(yùn)算符

求余運(yùn)算符 用于計(jì)算兩個(gè)運(yùn)算數(shù)整除后的余數(shù)
求的結(jié)果是正數(shù)還是負(fù)數(shù) 與第一個(gè)操作數(shù)是正數(shù)或負(fù)數(shù)有關(guān)(與第二個(gè)無關(guān))

    console.log(100 % 3);//1
    console.log(8 % 4);//0

    console.log(100 % -3);//1
    console.log(8 % 4);//0

    console.log(-100 % 3);//-1
    console.log(-8 % 4);//0

    console.log(-100 % -3);//-1
    //與減法的情況保持一致
    console.log("臥龍學(xué)苑" % 2);//NaN

自增運(yùn)算符與自減運(yùn)算符

自增運(yùn)算符 用于整數(shù)值逐次+1 分為:
a.前置型:自增運(yùn)算符位于運(yùn)算數(shù)之前 先加1 再賦值

前置自增運(yùn)算符 - ++變量名

b.后置型:自增運(yùn)算符位于運(yùn)算數(shù)之后 先賦值 再加1

后置自增運(yùn)算符 - 變量名++

自減運(yùn)算符 用于整數(shù)值逐次-1 分為:
a.前置型:自減運(yùn)算符位于運(yùn)算數(shù)之前 先減1 再賦值
b.后置型:自減運(yùn)算符位于運(yùn)算數(shù)之前 先賦值 再減1

運(yùn)算符的優(yōu)先級(jí)別
運(yùn)算符具有計(jì)算的優(yōu)先級(jí)別
1.先計(jì)算優(yōu)先級(jí)別高的運(yùn)算符
2.運(yùn)算符的級(jí)別相同,從左至右的計(jì)算
3.運(yùn)算符中優(yōu)先級(jí)別最高的是“()”
4.優(yōu)先計(jì)算的表達(dá)式利用"()"將其包裹起來

    console.log(100 + 200 - 150 * 3);// -150
    console.log(100 + 200 % 3);// 102
    console.log(2 * 200 % 3);// 1

    var num = 10;
    console.log(5 + ++num);// 16

比較運(yùn)算符

JavaScript語(yǔ)言中的比較運(yùn)算符 主要用于比較兩個(gè)操作數(shù)的值是否相等 或者大小情況

一.大于與小于比較運(yùn)算符
    console.log(10 > 11);//false
    console.log(11 > 10);//true
    console.log(10 >= 10);//true
    // 2.boolean類型 - 將boolean類型轉(zhuǎn)換為number類型
    console.log(true > false);//true
    console.log(true > 0);//true
/*
    3.string類型 - a.英文; b.中文
    * 英文或中文 - 將文本轉(zhuǎn)換成Unicode碼 - 對(duì)應(yīng)具有數(shù)字值
    * 英文單詞 - 從左至右的一次比較字母 Unicode 碼的大小
*/
    console.log("a" < "b");//true
    console.log("a" > "A");//true
    console.log("abc" > "cba");//false
    console.log("abc" > "acd");//false

    console.log("我" > "你");//true
二.相等與不等比較運(yùn)算符

相等比較運(yùn)算符
*與賦值運(yùn)算符的區(qū)別
*賦值運(yùn)算符(=)
*相等比較運(yùn)算符(==)
不等比較運(yùn)算符
*符號(hào)是"!="
*不是"<>"
相等與不等比較運(yùn)算符 只比較操作數(shù)的值 并不比較類型

    // 1.number類型
    console.log(10 == 10);// true
    console.log(10 == 11);// false
    // 2.boolean類型
    console.log(true == true);// true
    console.log(true == false);// false

    console.log(true == 1);// true

    // 3.string類型
    console.log("a" == "a");// true
    console.log("a" == "b");// false
    
    console.log("100" == 100);// true
三.全等與不全等運(yùn)算符 
全等與不全等運(yùn)算符 不僅比較值 還比較類型
    console.log(10 === 10);// true

    console.log("10" === 10);// false
    console.log("10" == 10);// true

函數(shù)

isNaN()函數(shù)用于判斷其參數(shù)是否為NaN值(非數(shù)字值)
作用:判斷當(dāng)前值是否為 NaN
true - 表示當(dāng)前值是NaN(不是一個(gè)數(shù)字值)
false - 表示當(dāng)前值不是NaN(不是一個(gè)數(shù)字值)
isFinite()函數(shù)
作用 - 判斷當(dāng)前值是否為無窮大
false - 表示當(dāng)前值是無窮大
true - 表示當(dāng)前值是有限數(shù)值

    console.log(isNaN(100));// false
    console.log(isNaN(Number("臥龍學(xué)苑")));// true

    var result = 100/0;
    console.log(result);// Infinity
    //isFinite()函數(shù)
    console.log(isFinite(result));// false

邏輯與運(yùn)算符

JavaScript運(yùn)算符 基本用法是用于布爾類型的計(jì)算
邏輯與運(yùn)算符時(shí) 如果兩個(gè)操作數(shù)都是布爾類型的話只有當(dāng)兩個(gè)操作數(shù)都為true時(shí) 返回的結(jié)果才為true 否則都為false
1.將邏輯與運(yùn)算符的兩個(gè)操作數(shù) 轉(zhuǎn)換為布爾類型
2.當(dāng)左邊的操作數(shù)為true時(shí) 結(jié)果為右邊操作數(shù)的值
3.當(dāng)左邊的操作數(shù)為false時(shí) 結(jié)果為左邊操作數(shù)的值

    console.log(true && true);// true
    console.log(true && false);// false
    console.log(false && true);// false
    console.log(false && false);// false

    console.log(100 && 1);// 1
    console.log(1 && 0);// 0
    console.log(0 && 1);// 0
    console.log(0 && 0);// 0

    console.log(true && true);
    console.log(true && false);
    console.log(false && true);
    console.log(false && false);

    console.log("臥龍學(xué)苑" && "臥龍學(xué)苑");// 臥龍學(xué)苑
    console.log("臥龍學(xué)苑" && "");// ""
    console.log("" && "臥龍學(xué)苑");// ""
    console.log("" && "");// ""

    console.log("臥龍學(xué)苑" && 1);// 1
    console.log(false && 0);// false

邏輯或運(yùn)算符

使用邏輯或運(yùn)算符時(shí) 如果兩個(gè)操作數(shù)都是布爾類型的話 只有當(dāng)其中一個(gè)操作類型數(shù)都為true時(shí) 返回的結(jié)果才為true 否則都為false

    console.log(true || true);// true
    console.log(true || false);// true
    console.log(false || true);// true
    console.log(false || false);// false

    console.log(100 || 1);// 100
    console.log(1 || 0);// 1
    console.log(0 || 1);// 1
    console.log(0 || 0);// 0

    console.log(true || true);
    console.log(true || false);
    console.log(false || true);
    console.log(false || false);

    console.log("臥龍學(xué)苑" || "臥龍學(xué)苑");// 臥龍學(xué)苑
    console.log("臥龍學(xué)苑" || "");// 臥龍學(xué)苑
    console.log("" || "臥龍學(xué)苑");// 臥龍學(xué)苑
    console.log("" || "");// ""

賦值擴(kuò)展運(yùn)算符

JavaScript語(yǔ)言中的賦值運(yùn)算符用于為變量或?qū)傩赃M(jìn)行賦值操作
JavaScript語(yǔ)言中的賦值擴(kuò)展運(yùn)算符實(shí)際就是賦值運(yùn)算符與算數(shù)運(yùn)算符配合使用的簡(jiǎn)寫模式
JavaScript語(yǔ)言中的賦值擴(kuò)展運(yùn)算符的執(zhí)行效率更高

    var b = 10, c = 20;

    var a = b + c;
    console.log(a);// 30

    // b = b + c;
    // 等價(jià)寫法 - 賦值擴(kuò)展運(yùn)算符的性能要比賦值運(yùn)算符更高
    b += c;
    console.log(b);// 30

條件運(yùn)算符

條件運(yùn)算符 首先判斷一個(gè)表達(dá)式是真是假 然后根據(jù)判斷結(jié)果執(zhí)行兩個(gè)給指定指令中的一個(gè)

    var result = 8 > 9 ? "對(duì)" : "錯(cuò)";
    console.log(result);

    var score = 95;
    score > 90 ? console.log("優(yōu)秀") : console.log("及格");

嵌套條件運(yùn)算符

條件運(yùn)算符中 每個(gè)表達(dá)式可以又是一個(gè)條件運(yùn)算表達(dá)式 稱為條件運(yùn)算的嵌套
優(yōu)點(diǎn):擴(kuò)展了條件運(yùn)算符本身的計(jì)算能力
缺點(diǎn):可讀性比較差 性能隨著嵌套的層級(jí)越多越差
建議:不要最多不要超過三層嵌套

    var score = 55;

    var result = score > 90 ? "優(yōu)秀" : (score > 80 ? "良好" : (score > 60 ? "及格" : "不及格"));
    console.log(result);

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/96687.html

相關(guān)文章

  • JavaScript數(shù)據(jù)類型轉(zhuǎn)換

    摘要:本文主要介紹數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換和自動(dòng)轉(zhuǎn)換,自動(dòng)轉(zhuǎn)換是基于強(qiáng)制轉(zhuǎn)換之上。強(qiáng)制轉(zhuǎn)換主要指使用和三個(gè)函數(shù),手動(dòng)將各種類型的值,分布轉(zhuǎn)換成數(shù)字字符串或者布爾值。 前言 JavaScript是一門動(dòng)態(tài)語(yǔ)言,所謂的動(dòng)態(tài)語(yǔ)言可以暫時(shí)理解為在語(yǔ)言中的一切內(nèi)容都是不確定的。比如一個(gè)變量,這一時(shí)刻是個(gè)整型,下一時(shí)刻可能會(huì)變成字符串了。雖然變量的數(shù)據(jù)類型是不確定的,但是各種運(yùn)算符對(duì)數(shù)據(jù)類型是有要求的。如果運(yùn)算...

    blastz 評(píng)論0 收藏0
  • JavaScript數(shù)據(jù)類型轉(zhuǎn)換

    摘要:本文主要介紹數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換和自動(dòng)轉(zhuǎn)換,自動(dòng)轉(zhuǎn)換是基于強(qiáng)制轉(zhuǎn)換之上。強(qiáng)制轉(zhuǎn)換主要指使用和三個(gè)函數(shù),手動(dòng)將各種類型的值,分布轉(zhuǎn)換成數(shù)字字符串或者布爾值。 前言 JavaScript是一門動(dòng)態(tài)語(yǔ)言,所謂的動(dòng)態(tài)語(yǔ)言可以暫時(shí)理解為在語(yǔ)言中的一切內(nèi)容都是不確定的。比如一個(gè)變量,這一時(shí)刻是個(gè)整型,下一時(shí)刻可能會(huì)變成字符串了。雖然變量的數(shù)據(jù)類型是不確定的,但是各種運(yùn)算符對(duì)數(shù)據(jù)類型是有要求的。如果運(yùn)算...

    chaos_G 評(píng)論0 收藏0
  • JavaScript數(shù)據(jù)類型轉(zhuǎn)換

    摘要:本文主要介紹數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換和自動(dòng)轉(zhuǎn)換,自動(dòng)轉(zhuǎn)換是基于強(qiáng)制轉(zhuǎn)換之上。強(qiáng)制轉(zhuǎn)換主要指使用和三個(gè)函數(shù),手動(dòng)將各種類型的值,分布轉(zhuǎn)換成數(shù)字字符串或者布爾值。 前言 JavaScript是一門動(dòng)態(tài)語(yǔ)言,所謂的動(dòng)態(tài)語(yǔ)言可以暫時(shí)理解為在語(yǔ)言中的一切內(nèi)容都是不確定的。比如一個(gè)變量,這一時(shí)刻是個(gè)整型,下一時(shí)刻可能會(huì)變成字符串了。雖然變量的數(shù)據(jù)類型是不確定的,但是各種運(yùn)算符對(duì)數(shù)據(jù)類型是有要求的。如果運(yùn)算...

    Julylovin 評(píng)論0 收藏0
  • 從[]==![]為true來剖析JavaScript各種蛋疼類型轉(zhuǎn)換

    摘要:將他們放在堆中是為了不影響棧的效率。所以簡(jiǎn)單數(shù)據(jù)類型的值直接存放在棧中。可以對(duì)比上面那張圖默認(rèn)是調(diào)用方法的依,于是等于空字符串。空字符串中國(guó)標(biāo)準(zhǔn)時(shí)間方法返回對(duì)象的原始值,可能是字符串?dāng)?shù)值或值等,看具體的對(duì)象。,需要兩個(gè)操作數(shù)同時(shí)轉(zhuǎn)為。 你是否在面試中遇到過各種奇葩和比較細(xì)節(jié)的問題? []==[] //false []==![] //true {}==!{} //false {}==![...

    Jeff 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<