亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

JavaScript中的運(yùn)算符個(gè)人分享

DesGemini / 2840人閱讀

摘要:運(yùn)算符加減乘除法運(yùn)算符加法運(yùn)算符如果字符串進(jìn)行加法計(jì)算叫拼串加法遇到字符串都是連接而不是加法運(yùn)算如果類(lèi)型進(jìn)行加法計(jì)算時(shí)加法運(yùn)算自動(dòng)將布爾類(lèi)型轉(zhuǎn)換為數(shù)字值在進(jìn)行加法注意操作變量中如果不存在類(lèi)型的話執(zhí)行的是加法計(jì)算示例代碼一花一世界調(diào)用結(jié)

運(yùn)算符 加減乘除法運(yùn)算符

加法運(yùn)算符:

如果字符串進(jìn)行加法計(jì)算 - 叫拼串

加法遇到字符串都是連接而不是加法運(yùn)算

如果boolean類(lèi)型進(jìn)行加法計(jì)算時(shí) - 加法運(yùn)算自動(dòng)將布爾類(lèi)型轉(zhuǎn)換為數(shù)字值在進(jìn)行加法

注意:操作變量中如果不存在string類(lèi)型的話 -> 執(zhí)行的是加法計(jì)算

示例代碼:

var num = 100;
var str1 = "一花一世界";
var str2 = "200";
var boo = true;

var result1 = num + 300;
console.log(result1);// 調(diào)用結(jié)果為 400

// 如果字符串進(jìn)行加法計(jì)算 -> 字符串連接運(yùn)算符(拼串)
var result2 = str1 + 300;
console.log(result2);// 調(diào)用結(jié)果為 一花一世界300
console.log(typeof result2);// 調(diào)用結(jié)果為 string

var result3 = str2 + 300;
console.log(result3);// 調(diào)用結(jié)果為 200300
// 如果布爾類(lèi)型進(jìn)行加法計(jì)算 -> 將布爾類(lèi)型轉(zhuǎn)換為數(shù)字值,再進(jìn)行加法計(jì)算
var result4 = boo + 300;
console.log(result4);// 調(diào)用結(jié)果為 301

2.減法運(yùn)算符

僅局限于數(shù)學(xué)計(jì)算(數(shù)字值)

如果操作變量的類(lèi)型不是number(數(shù)字)類(lèi)型那它會(huì)先將當(dāng)前數(shù)據(jù)類(lèi)型轉(zhuǎn)換為number(數(shù)字)類(lèi)型

備注:減法一定是數(shù)字減法

示例代碼:

var result5 = num - 100;
console.log(result5);// 調(diào)用結(jié)果為 0
// 如果字符串進(jìn)行減法計(jì)算的話 -> 將字符串類(lèi)型轉(zhuǎn)換為數(shù)字值,再進(jìn)行減法計(jì)算
var result6 = str1 - 100;
console.log(result6);// 調(diào)用結(jié)果為 NaN

var result7 = str2 - 100;
console.log(result7);// 調(diào)用結(jié)果為 100
// 如果布爾類(lèi)型進(jìn)行減法計(jì)算 -> 將布爾類(lèi)型轉(zhuǎn)換為數(shù)字值,再進(jìn)行減法計(jì)算
var result8 = boo - 100;
console.log(result8);// 調(diào)用結(jié)果為 -99

特殊情況:數(shù)字減NaN和字符串輸出結(jié)果都得出NaN

示例代碼:

console.log(num - NaN);// NaN
console.log(num - "我是誰(shuí)");// NaN

3.乘法和除法運(yùn)算符和減法運(yùn)算符一樣

注意: 除了加法運(yùn)算符之外,所有算數(shù)運(yùn)算符都是執(zhí)行數(shù)學(xué)計(jì)算

求余運(yùn)算符 - 就是獲取除法計(jì)算之后的余數(shù)

特殊情況: 求余的結(jié)果是正數(shù)還是負(fù)數(shù)與第一個(gè)操作的數(shù)有關(guān),(與第二個(gè)操作的數(shù)無(wú)關(guān))

示例代碼:

console.log(100 % 3);// 1
console.log(8 % 4);// 0
// 求余的結(jié)果是正數(shù)還是負(fù)數(shù),與第一個(gè)操作數(shù)是正數(shù)或負(fù)數(shù)有關(guān)(與第二個(gè)操作數(shù)無(wú)關(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("臥龍學(xué)苑" % 2);// NaN
自增運(yùn)算符 - 就是給自己增加 - 操作的是當(dāng)前變量的值,每自增一次(+1)

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

先自增,再賦值

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

先賦值,再自增

示例代碼:

var num = 10;
console.log(num);// 10

// 前置自增
var result1 = ++num;
console.log(result1);// 11
console.log(num);// 11

// 后置自增
var result = num++;
console.log(result);// 10
console.log(num);// 11
運(yùn)算符的優(yōu)先級(jí)別

先計(jì)算優(yōu)先級(jí)別高的運(yùn)算符

運(yùn)算符的級(jí)別相同,從左至右的計(jì)算

運(yùn)算符中優(yōu)先級(jí)別最高的是"()"

優(yōu)先計(jì)算的表達(dá)式利用"()"將其包裹起來(lái)

示例代碼:

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)算符 大于小于比較運(yùn)算符

示例代碼:

// 1.number類(lèi)型
console.log(10 > 11);// false
console.log(11 > 10);// true
console.log(10 >= 10);// true
// 2.boolean類(lèi)型 - 將boolean類(lèi)型轉(zhuǎn)換為number類(lèi)型
console.log(true > false);// true
console.log(true > 0);// true
/*
    3.string類(lèi)型 - 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
相等和不相等與全等和不全等比較運(yùn)算符

1.相等和不相等:

相等比較運(yùn)算符

與賦值運(yùn)算符的區(qū)別

賦值運(yùn)算符(=)

相等比較運(yùn)算符(==)

不等比較運(yùn)算符

符號(hào)是"!="

不是"<>"

示例代碼:

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

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

// 3.string類(lèi)型
console.log("a" == "a");// true
console.log("a" == "b");// false
// 只比較值,而不比較類(lèi)型
console.log("100" == 100);// true

2.等和不相等與全等

完全相等 : 是三個(gè)等于號(hào) (===)

完全不相等 : 是以個(gè)嘆號(hào)兩個(gè)等號(hào) ( !== )

完全相等就是說(shuō)不只是值相等而且類(lèi)型也必須相等

反之完全不相等道理一樣必須是所有都不一樣才可以(比如:值和類(lèi)型)

示例代碼:

// 全等 - 不僅比較值,還比較類(lèi)型
console.log(10 === 10);// true

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

// 不全等
console.log(11 !== 10);// true

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

備注:

相等和不相等與全等和不全等的區(qū)別

相等就是只要值是一樣的就行

全等則是值和類(lèi)型都要一樣才行

isNaN()函數(shù)

作用 - 判斷當(dāng)前值是否為 NaN

true - 表示當(dāng)前值是 NaN(不是一個(gè)數(shù)字值)

false - 表示當(dāng)前值不是 NaN(不是一個(gè)數(shù)字值)

注意: 全等和相等都不好使

示例代碼:

console.log(isNaN(100));// false
console.log(isNaN(Number("一花一世界")));// true
isFinite()函數(shù)

作用 - 判斷當(dāng)前值是否為無(wú)窮大

注意:boolean類(lèi)型的值在isFinite()函數(shù)中表示的意思是:

表示當(dāng)前值是無(wú)窮大

true - 表示當(dāng)前值是有限數(shù)值

var result = 100/0;
console.log(result);// Infinity - 表示無(wú)窮大的意思
console.log(isFinite(result));// false
邏輯運(yùn)算符 邏輯與運(yùn)算符

總結(jié):

邏輯與相當(dāng)于生活中說(shuō)的"并且"的意思

如果兩個(gè)變量的布爾值都為false的話,結(jié)果為左邊變量的值

如果兩個(gè)變量的布爾值,一個(gè)是true一個(gè)是false的話,結(jié)果為false的變量值

如果兩個(gè)變量的布爾值都為true的話,結(jié)果為右邊變量的值

注意:計(jì)算的結(jié)果無(wú)論是什么類(lèi)型,轉(zhuǎn)換為布爾類(lèi)型時(shí)結(jié)果只能是true或false

代碼示例圖:

console.log(true && true);// 調(diào)用結(jié)果為 true
console.log(true && false);// 調(diào)用結(jié)果為 false
console.log(false && true);// 調(diào)用結(jié)果為 false
console.log(false && false);// 調(diào)用結(jié)果為 false
/*
    將邏輯與運(yùn)算符的兩個(gè)操作數(shù),轉(zhuǎn)換為布爾類(lèi)型
    * 當(dāng)左邊的操作數(shù)為true時(shí),結(jié)果為右邊操作數(shù)的值
    * 當(dāng)左邊的操作數(shù)為false時(shí),結(jié)果為左邊操作數(shù)的值
 */
console.log(100 && 1);// 調(diào)用結(jié)果為 1
console.log(1 && 0);// 調(diào)用結(jié)果為 0
console.log(0 && 1);// 調(diào)用結(jié)果為 0
console.log(0 && 0);// 調(diào)用結(jié)果為 0

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

console.log("一花一世界" && "一花一世界");// 調(diào)用結(jié)果為 一花一世界
console.log("一花一世界" && "");// 調(diào)用結(jié)果為 ""
console.log("" && "一花一世界");// 調(diào)用結(jié)果為 ""
console.log("" && "");// ""

/*
    如果兩個(gè)變量是字符串和數(shù)字類(lèi)型時(shí)則取右邊的值
 */
console.log("一花一世界" && 1);// 調(diào)用結(jié)果為 1
console.log(1 && "一花一世界");// 調(diào)用結(jié)果為 一花一世界
console.log(false && 0);// 調(diào)用結(jié)果為 false
邏輯或運(yùn)算符

將邏輯與運(yùn)算符的兩個(gè)操作數(shù),轉(zhuǎn)換為布爾類(lèi)型

邏輯或相當(dāng)于生活中說(shuō)的"或者"的意思

如果兩個(gè)變量的布爾值都為false的話,結(jié)果為右邊變量的值

如果兩個(gè)變量的布爾值都為true的話,結(jié)果為左邊變量的值

當(dāng)左邊的操作數(shù)為true時(shí),結(jié)果為左邊操作數(shù)的值

當(dāng)左邊的操作數(shù)為false時(shí),結(jié)果為右邊操作數(shù)的值

示例代碼:

console.log(true || true);// 調(diào)用結(jié)果為 true
console.log(true || false);// 調(diào)用結(jié)果為 true
console.log(false || true);// 調(diào)用結(jié)果為 true
console.log(false || false);// 調(diào)用結(jié)果為 false

console.log(100 || 1);// 調(diào)用結(jié)果為 100
console.log(1 || 0);// 調(diào)用結(jié)果為 1
console.log(0 || 1);// 調(diào)用結(jié)果為 1
console.log(0 || 0);// 調(diào)用結(jié)果為 0

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

console.log("一花一世界" || "一花一世界");// 調(diào)用結(jié)果為 一花一世界
console.log("一花一世界" || "");// 調(diào)用結(jié)果為 一花一世界
console.log("" || "一花一世界");// 調(diào)用結(jié)果為 一花一世界
console.log("" || "");// 調(diào)用結(jié)果為 ""
邏輯非運(yùn)算符

邏輯非 - 語(yǔ)法 : (!)

邏輯非相當(dāng)于生活中說(shuō)的"不是"的意思

邏輯非就是取相反

如果當(dāng)前值為true(對(duì)的)得到結(jié)果就是false(錯(cuò)的)

備注:null,0,NaN,空字符串 ("") 和undefined都是false(錯(cuò)的)

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

賦值擴(kuò)展運(yùn)算符 - 就是簡(jiǎn)寫(xiě)形式

優(yōu)點(diǎn):

代碼量減少

性能更好

示例代碼對(duì)比:

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

b += c;
console.log(b);// 30
條件運(yùn)算符

條件運(yùn)算符的語(yǔ)法格式

條件表達(dá)式 ? 為true的結(jié)果 : 為false的結(jié)果

問(wèn)號(hào) (?)后是為true的結(jié)果 - 可以是任何類(lèi)型 - 比如: 字符串,布爾值,數(shù)字值等等

冒號(hào) (:)后是為false的結(jié)果 - 可以是任何類(lèi)型 - 比如: 字符串,布爾值,數(shù)字值等等

示例代碼:

var result = 10 > 20 ? "對(duì)" : "錯(cuò)";
console.log(result);// 調(diào)用結(jié)果為 錯(cuò)

var score = 95;
score > 90 ? console.log("帥") : console.log("丑");// 調(diào)用結(jié)果為 帥
嵌套條件運(yùn)算符

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

優(yōu)點(diǎn) - 擴(kuò)展了條件運(yùn)算符本身的計(jì)算能力

缺點(diǎn)

可讀性比較差

性能隨著嵌套的層級(jí)越多越差

建議 - 最多不要超過(guò)三層嵌套

示例代碼:

var result = score > 90 ? "很帥" : score > 80 ? "一般帥" :  "很丑";
console.log(result);

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/96711.html

相關(guān)文章

  • JavaScript個(gè)人分享

    摘要:的基礎(chǔ)語(yǔ)法的語(yǔ)法是區(qū)分大小寫(xiě)的注意在中是區(qū)分大小寫(xiě)的變量名稱(chēng)不能是中文代碼示例一花一世界控制臺(tái)調(diào)用效果圖語(yǔ)法中的空格與換行注意并不是的語(yǔ)法內(nèi)容可有可無(wú)的建議使用因?yàn)檫@樣會(huì)使代碼看的更清晰利于閱讀代碼示例代碼一花一世界中的分號(hào)可選項(xiàng)語(yǔ)法并 JavaScript的基礎(chǔ)語(yǔ)法: JavaScript的語(yǔ)法是區(qū)分大小寫(xiě)的 注意: 在JavaScript中是區(qū)分大小寫(xiě)的 變量名稱(chēng)不能是中文 代...

    JasonZhang 評(píng)論0 收藏0
  • 前端_JavaScript

    摘要:為此決定自研一個(gè)富文本編輯器。例如當(dāng)要轉(zhuǎn)化的對(duì)象有環(huán)存在時(shí)子節(jié)點(diǎn)屬性賦值了父節(jié)點(diǎn)的引用,為了關(guān)于函數(shù)式編程的思考作者李英杰,美團(tuán)金融前端團(tuán)隊(duì)成員。只有正確使用作用域,才能使用優(yōu)秀的設(shè)計(jì)模式,幫助你規(guī)避副作用。 JavaScript 專(zhuān)題之惰性函數(shù) JavaScript 專(zhuān)題系列第十五篇,講解惰性函數(shù) 需求 我們現(xiàn)在需要寫(xiě)一個(gè) foo 函數(shù),這個(gè)函數(shù)返回首次調(diào)用時(shí)的 Date 對(duì)象,注意...

    Benedict Evans 評(píng)論0 收藏0
  • JavaScript中的面向?qū)ο?em>個(gè)人分享

    摘要:面向?qū)ο竺嫦驅(qū)ο蟮母拍钏^面向?qū)ο缶陀贸橄蠓绞絼?chuàng)建基于顯示世界模型的一種變成模式面向?qū)ο缶幊炭梢钥醋鍪鞘褂靡幌盗袑?duì)象互相協(xié)作的軟件設(shè)計(jì)備注面向?qū)ο笕Q(chēng)簡(jiǎn)稱(chēng)面向?qū)ο缶幊痰闹饕齻€(gè)特征是封裝所謂封裝就是按要求使用得到對(duì)象的結(jié)果相關(guān)數(shù)據(jù)用于存儲(chǔ) 面向?qū)ο?面向?qū)ο蟮母拍? 所謂面向?qū)ο缶陀贸橄蠓绞絼?chuàng)建基于顯示世界模型的一種變成模式,面向?qū)ο缶幊炭梢钥醋鍪鞘褂靡幌盗袑?duì)象互相協(xié)作的軟件設(shè)計(jì) 備注...

    DirtyMind 評(píng)論0 收藏0
  • 阿里云前端周刊 - 第 28 期

    摘要:源碼速覽在近期發(fā)布了。本人就職于騰訊直播前端開(kāi)發(fā),感覺(jué)直播能夠嘗試的領(lǐng)域真的太多太多,但是,在這塊一直是一個(gè)痛點(diǎn)。前端中的計(jì)算機(jī)領(lǐng)域的通常認(rèn)為起源于。 推薦 1. 現(xiàn)代 JavaScript 語(yǔ)法清單 https://github.com/mbeaudru/m... 本文涉及到了現(xiàn)代項(xiàng)目開(kāi)發(fā)中常用的 JavaScript 語(yǔ)法使用以及示例代碼的清單 ;本指南并不打算從零介紹 JavaS...

    stonezhu 評(píng)論0 收藏0
  • 阿里云前端周刊 - 第 28 期

    摘要:源碼速覽在近期發(fā)布了。本人就職于騰訊直播前端開(kāi)發(fā),感覺(jué)直播能夠嘗試的領(lǐng)域真的太多太多,但是,在這塊一直是一個(gè)痛點(diǎn)。前端中的計(jì)算機(jī)領(lǐng)域的通常認(rèn)為起源于。 推薦 1. 現(xiàn)代 JavaScript 語(yǔ)法清單 https://github.com/mbeaudru/m... 本文涉及到了現(xiàn)代項(xiàng)目開(kāi)發(fā)中常用的 JavaScript 語(yǔ)法使用以及示例代碼的清單 ;本指南并不打算從零介紹 JavaS...

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

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

0條評(píng)論

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