一起聊聊JavaScript運運算元

2022-08-03 18:00:07
本篇文章給大家帶來了關於的相關知識,其中主要介紹了關於運運算元的相關問題,運運算元也被稱為操作符,是用於實現賦值、比較和執行算術運算等功能的符號,下面一起來看一下,希望對大家有幫助。

【相關推薦:、】

運運算元(operator)也被稱為操作符,是用於實現賦值、比較和執行算數運算等功能的符號。

JavaScript中常用的運運算元有:

  • 算術運運算元
  • 遞增和遞減運運算元
  • 比較運運算元
  • 邏輯運運算元
  • 賦值運運算元

算術運運算元

概念:算術運算使用的符號,用於執行倆個變數或值的算術運算。

運運算元描述範例
+10+20=30
-20-10=10
*10*20=200
/10/20=0.5
%取餘數(取模)返回除法的餘數9%2=1
console.log(1 + 1); //2
    console.log(1 - 1); //0
    console.log(1 * 1); //1
    console.log(1 / 1); //1
    console.log(4 % 2); //0

浮點數在算數運算裡面會有誤差(避免直接參與運算):

console.log(0.1 + 0.2); //0.30000000000000004

不能直接判斷倆個浮點數是否相等。

var num = 0.1 + 0.2;
    console.log(num == 0.3); //false
  • 算術運運算元優先順序:先乘除後加減
  • 可以使用%取餘運運算元來判斷一個數能否被整除

表示式和返回值:

由數位、運運算元、變數等組成的式子我們稱為表示式。

表示式最終都會有一個結果返回給我們,我們稱為返回值。

遞增和遞減運運算元

如果需要反覆給數位變數新增或減去1,可以使用遞增(++)和遞減(--)運運算元來完成。

繁瑣寫法:

var num = 1;
    num = num + 1;
    num = num + 1;
    console.log(num); //3

前置遞增運運算元:

++寫在變數的前面

++num前置遞增就是自加1,類似於 num=num+1

var age = 10;
    ++age;
    console.log(age);//11 類似於age = age + 1

使用口訣:先自加,後返回值

console.log(age);
    var a = 10;
    console.log(++a + 10); //(10+1)+10=21

後置遞增運運算元

++寫在變數的後面

num++後置遞增,就是自加1,類似於 num=num+1

var age = 10;
    age++;
    console.log(age);//11 類似於age = age + 1

使用口訣:先返回原值,後自加

var a = 10;
    console.log(a++ + 10); //10+10=20
    console.log(a); //11

區別總結

  • 前置遞增和後置遞增運運算元可以簡化程式碼的編寫,讓變數的值+1比以前寫法更簡單。
  • 單獨使用時,執行結果相同。
  • 與其他程式碼聯用時,執行結果會不同。
  • 前置:先自加,後運算(先己後人
  • 後置:先原值運算,後自加(先人後己
  • 開發時,大多使用後置遞增/遞減,並且程式碼獨佔一行。例:num++;

練習:

var e = 10;
    var f = e++ + ++e; //1.e++=10 e=11  2.++e=12 f=10+12
    console.log(f); //22

比較運運算元

概念:比較運運算元(關係運算子)是倆個資料進行比較時所使用的運運算元,比較運算後,會返回一個布林值(true/false)作為比較運算的結果。

運運算元名稱說明案例結果
<小於號1>2true
>大於號1>2false
>=大於等於號(大於或等於)2>=2true
<=小於等於號(小於或等於)3<=2false
==判等號(會轉型)17==17true
!=不等號17!=17false
=== !==全等,要求值和資料型別都一致17==='17'false
console.log(2 <= 5); //true
    console.log('嶽澤以' = '個人部落格'); //false
    console.log(17 == '17'); //true 預設轉換資料型別,字串型轉換為數位型
    console.log(17 = '17'); //false 資料型別不同,要求值和資料型別一致
符號作用用法
=賦值把右邊給左邊
==判斷判斷兩邊值是否相等(存在隱式轉換)
===全等判斷兩邊的值和資料型別是否完全相同

邏輯運運算元

概念:邏輯運運算元是用來進行布林值運算的運運算元,其返回值也是布林值。後面開發中經常用於多個條件的判斷。

邏輯運運算元說明案例
&&"邏輯與",簡稱「與」andture &&false
丨丨"邏輯或",簡稱「或」orture 丨丨false
!"邏輯非",簡稱「非」not!true

邏輯與

符號:&& 相對於and

兩側都為 true結果才是 true,只要有一側為 false,結果就為 false

console.log(3 > 5 && 3 > 2); //false
    console.log(3 < 5 && 3 < 7); //true

邏輯或

符號:||相當於or

倆側都為 false,結果才是 false,只要有一側為 true,結果就是 true

console.log(3 > 5 && 3 > 2); //false
    console.log(3 < 5 && 3 < 7); //true

邏輯非

符號:!相對於not

邏輯非也叫作取反符,用來取一個布林值相反的值。

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

短路運算(邏輯中斷)

短路運算的原理:當有多個表示式(值)時,左邊的表達值可以確定結果時,就不再繼續運算右邊的表示式的值。

邏輯與:

  • 語法表示式1 && 表示式2
  • 如果第一個表示式的值為真,則返回表達上2
  • 如果第一個表示式的值為假,則返回表示式1
console.log(123 && 456); //返回456,除了0以外的所有數位都為真。
    console.log(123 && 456 && 789); //返回789,依次後推
    console.log(0 && 456); //0

邏輯或:

  • 語法表示式1 || 表示式2
  • 如果表示式1結果為真,則返回表示式1
  • 如果表示式1結果為假,則返回表示式2
console.log(123 || 456); //123
    console.log(123 || 456 || 123 + 456); //123
    console.log(0 || 456 || 123 + 456); //456

注意:邏輯中斷會造成短路操作,即不執行後面的程式碼,影響程式設計師的執行結果。

var num = 0;
    console.log(123 || num++); //邏輯中斷造成num++未執行
    console.log(num); //0

賦值運運算元

概念:用來把資料賦值給變數的運運算元

賦值運運算元說明案例
=直接賦值var name='嶽澤以';
+=、-=加、減一個數後再賦值var age=10; age+=5; //15
*=、/=、%=乘、除、取餘後再賦值var age=10; age*=5; //10
var num = 5;
    num += 10;
    console.log(num); //5+10=15
    num *= 3;
    console.log(num); //15*3=45

運運算元優先順序

優先順序運運算元順序
1小括號()
2一元運運算元++ -- !
3算術運運算元* / + -
4關係運算子> >= < <=
5相等運運算元== != === !==
6邏輯運運算元&&丨丨
7賦值運運算元=
8逗號運運算元,
  • 一元運運算元裡的邏輯非優先順序很高。
  • 邏輯與比邏輯或優先順序高
console.log(4 >= 6 || '我' != '你' && !(12 * 2 == 144) && true); //true
    /* 
    邏輯運運算元分四段
    1.4 >= 6 得false
    2.'我' != '你'得true
    3.!(12 * 2 == 144)得ture
    4.true
    然後判斷邏輯與:2與3得true 3和4得true 
    再判斷邏輯或得:true
     */

【相關推薦:、】

以上就是一起聊聊JavaScript運運算元的詳細內容,更多請關注TW511.COM其它相關文章!