JavaScript語法詳解:運算符和表達式


本文首發於博客園,並在GitHub上持續更新前端的系列文章。歡迎在GitHub上關注我,一起入門和進階前端。

以下是正文。

我們在上一篇文章里講到了JS中變量的概念,本篇文章講一下運算符和表達式。

比如說+*/( 都是運算符,而(3+5)/2則是表達式

運算符有很多分類:數學運算符、邏輯運算符、自增運算符、賦值運算等。

數學運算符

常見的數學運算符有以下幾種:

求余的舉例

假設用戶輸入345,怎么分別得到3、4、5這三個數呢?

答案

	得到3的方法:345 除以100,得到3.45然后取整,得到3。即:parseInt(345/100)

	得到4的方法:345 除以100,余數是45,除以10,得到4.5,取整。即:parseInt(345 % 100 / 10)

	得到5的方法:345 除以10,余數就是5。即:345 % 10

數學運算符的運算規則

(1)先算乘除、后算加減。

(2)小括號:能夠影響計算順序,且可以嵌套。沒有中括號、沒有大括號,只有小括號。

(3)百分號:取余。只關心余數。

舉例1:(取余)

	console.log(3 % 5);

輸出結果為3。

舉例2:(運算符優先級)

	var a = 1 + 2 * 3 % 4 / 3;

結果分析:

原式 = 1 + 6 % 4 / 3 = 1 + 2 / 3 = 1.66666666666666

乘方

如果想計算 a 的 b 次方,可以使用如下函數:

	Math.pow(a, b);

Math的中文是“數學”,pow是“power 冪”。

舉例1:

代碼實現:

	var a = Math.pow(3, Math.pow(2, 2));
	console.log(a);

舉例2:

代碼實現:

	var a = Math.pow(Math.pow(3, 2), 4);
	console.log(a);

開方

如果想計算數值a的開二次方,可以使用如下函數:

	 Math.sqrt(a);

sqrt即“square 開方”。比如:

	var a = Math.sqrt(36);

布爾值、關系運算符、邏輯運算符

布爾值

我們在上一篇文章中學習到的變量類型中包括:數值型、字符串型。今天再來學習一個類型:布爾類型

布爾類型的值,就兩個:true、false。

布爾值直接使用就可以了,千萬不要加上引號。

代碼:

	var a = true;
	console.log(typeof a);

控制台輸出結果:

	boolean

關系運算符

關系運算符有很多種,比如:

	>	大於號
	<	小於號
	>= 	大於或等於
	<=  小於或等於
	== 	等於
	=== 全等於
	!=	不等於
	!== 不全等於

關系運算符,得到的結果都是布爾值:要么是true,要么是false。

==符號的強調

注意==這個符號,它是判斷是否等於,而不是賦值。

(1)== 這個符號,還可以驗證字符串是否相同。例如:

	console.log("我愛你中國" == "我愛你中國");		//輸出結果為true

(3)== 這個符號並不嚴謹,會將不同類型的東西,轉為相同類型進行比較。例如:

	console.log("6" == 6);		//true

如果要保證完全等於,我們就要用三個等號===。例如:

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

上述內容分析出:

  • ==兩個等號,不嚴謹,"6"和6是true。

  • ===三個等號,嚴謹,"6"和6是false。

另外還有:==的反面是!====的反面是!==。例如:

	console.log(3 != 8);	//true
	console.log(3 != "3");	//false,因為3=="3"是true,所以反過來就是false。
	console.log(3 !== "3");	//true,應為3==="3"是false,所以反過來是true。

邏輯運算符

邏輯運算符有三個:

  • && 與(且):兩個都為真,結果才為真

  • || 或

  • ! 非:只要有一個是真,結果就是真

能參與邏輯運算的,都是布爾值,得到的答案仍然是布爾值。

連比的寫法:

來看看邏輯運算符連比的寫法。

舉例1:

	console.log(3 < 2 && 2 < 4);

輸出結果為false。

舉例2:(判斷一個人的年齡是否在18~60歲之間)

	var a = prompt("請輸入您的年齡");
	alert(a>=18 && a<= 65);

數據類型轉換

暫略。

我的公眾號

想學習代碼之外的軟技能?不妨關注我的微信公眾號:生命團隊(id:vitateam)。

掃一掃,你將發現另一個全新的世界,而這將是一場美麗的意外:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM