我們在上一篇文章中講到了JS中變數的概念,本篇文章講一下運算符和表達式。 ...
以下是正文。
我們在上一篇文章里講到了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
)。
掃一掃,你將發現另一個全新的世界,而這將是一場美麗的意外: