javascript基礎(賦值運算子,關係運算子,相等運算子,三元運算子,運算子的優先順序,程式碼塊)(十)
有程式碼編寫基礎的,自學時請略過
1.賦值運算子:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
賦值運算子可以將一個值賦值給一個變數
=
- =可以將符合右側的值,賦值給符號左側的變數
+=
- a += x 等價於 a = a + x
-=
- a -= x 等價於 a = a - x
*=
- a *= x 等價於 a = a * x
/=
- a /= x 等價於 a = a / x
%=
- a %= x 等價於 a = a % x
* */
var a = 10;
//使a增加5
//a = a + 5;
//a += 5; // 等價於 a = a + 5;
//a *= 5; // a = a * 5;
//a /= 5; //a = a / 5;
a %= 5 ; // a = a % 5;
console.log("a = "+a);
</script>
</head>
<body>
</body>
</html>
2.關係運算子:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
關係運算子可以比較兩個值之間的大小關係
> 大於號,比較符號左側的值是否大於右側的值
如果關係成立,則返回true,否則返回false
>= 大於等於,比較左側的值是否大於或等於右側的值
如果關係成立,則返回true,否則返回false
< 小於號
<= 小於等於
如果對非數值型別進行關係運算,則會將他們轉換為Number然後在比較
* */
//console.log(10 > 5); //true
//console.log(4 > 5); //false
//console.log(5 > 5); //false
//console.log(5 >= 5); //true
//console.log(6 >= 5); //true
var result = 5 < 4; //false
//1 < 0
result = true < false; //false
//1 < 2
result = true < "2"; //true
result = null < 5; //true
//NaN < 5 NaN和任何值比較都是false
result = undefined < 5; //false
result = undefined > 5; //false
result = undefined >= 5; //false
result = 5 < "4"; //false
/*
* 當關系運算子的兩側都是字串時,它不會將字串轉換為Number,
* 而是會比較字串的Unicode編碼
*
* 當字串中含有多個字元時,會逐位進行比較
* 第一位和第一位比 第二位和第二位比 以此類推
*
* 通過這種方式,可以將文字按照字母順序進排序,但是對於中文來說意義不大,
* 尤其在比較兩個數字型別的字串時,一定要注意,很有可能得到錯誤的結果
*/
result = "a" < "b"; //true
result = "bc" < "be"; //true
result = "abcdefghijk" < "b"; //true
//0035 < 0034
result = "5" < "4"; //false
result = "5" < "40"; //false
result = "中" > "國";
result = +"5" < "40"; //true
console.log("result = "+result);
</script>
</head>
<body>
</body>
</html>
3.相等運算子:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
* ==
* - 相等運算子,它可以用來判斷兩個值是否相等,如果相等,則返回true,否則返回false
* - 如果對兩個型別不同的變數進行相等比較,會先將其轉換為相同的型別,然後再比較
* (至於具體轉換為什麼型別,不定,但是大部分情況是轉換Number)
*/
//console.log(1 == 1); //true
//console.log(1 == 2); //false
//console.log(true == 1);//true
//console.log(true == 2);//false
//console.log("1" == true); //true
//字串和布林值比時,都轉換為Number然後在比
//console.log("2" == true); //flase
//console.log(null == 0);//false
//由於undefined衍生自null,所以這兩個型別的值做相等比較時會返回true
//console.log(null == undefined);//true
//NaN不和任何值相等,包括它自己
//console.log(NaN == NaN); //false
var a = NaN;
//判斷a的值是否是NaN
//console.log(a == NaN);
/*
* 在JS中為我們提供了一個isNaN()函式,
* 這個函式專門可以判斷一個值是否是NaN,如果是則返回true,否則返回false
*/
//console.log(isNaN(a));
/*
* ===
* - 全等運算子,可以判斷兩個值是否全等,如果全等則返回true,否則返回false
* - 全等和相等的區別就是相等會做自動的型別轉換,而全等不會,
* 使用全等時,如果兩個值的型別不同,直接返回false
*/
//console.log(1 === "1"); //false
//console.log(true === "1"); //false
//null和undefined相等,但是不全等
//console.log(null === undefined); //false
/*
* !=
* - 不等運算子,和相等相反,如果兩個值不等則返回true,否則返回false
* - 不等會對值進行自動的型別轉換,如果轉換後相等,它也認為相等
*
* !==
* - 不全等運算子,檢查兩個值是否不全等,如果成立則返回true,否則返回false
* - 不全等不會做自動的型別轉換,如果兩個值的型別不同,直接返回true
*/
//console.log(1 != 2);//true
//console.log(1 != 1);//false
//console.log(1 != "1");//false
console.log(1 !== "1");//true
</script>
</head>
<body>
</body>
</html>
4.三元運算子:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
三元運算子(三目運算子)
- 三元運算子需要三個運算元
-?:
-語法:
條件表示式?語句1:語句2
- 執行流程:
- 三元運算子在執行時,會先對條件表示式進行求值判斷
如果判斷結果為true,則執行語句1,並將執行結果返回
如果判斷結果為false,則執行語句2,並將執行結果返回
* */
//false?alert("語句1"):alert("語句2");
//建立兩個變數
var a = 60;
var b = 75;
var c = 40;
//如果a的值大,則輸出a大,如果b的值的,則輸出b大
//alert("b大");
//alert("a大");
//a > b ? alert("a大") : alert("b大") ;
//獲取a和b之中的大值
/*var max = a > b ? a : b;
max = max > c ? max : c;*/
//表示式儘量不要寫的太長,不方便閱讀
var max = a > b ? ( a > c ? a : c) : (b > c ? b : c) ;
console.log("max = "+max);
</script>
</head>
<body>
</body>
</html>
5.運算子的優先順序:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
運算子的優先順序和數學中的類似,
比如:先算乘除後算加減,也可以通過括號來改變運算的順序
遇到優先順序不清楚,可以查詢優先順序的表,在表中,位置越靠上,優先順序越高,
優先順序越高,越先運算,同一行的運算子優先順序一樣,優先順序一樣從左往右計算
但是這個優先順序的表,不需要記憶,如果遇到拿不準,則使用()來改變優先順序
* */
var result = ( 1 + 2 ) * 3;
/*
* 如果|| 和 &&的優先順序一樣,或者 ||大
* 則從左向右算,結果是 3
*
* 如果 && 的優先順序高,則應該先算後邊的
* 結果是:1
*/
result = 1 || (2 && 3);
console.log("result = "+result);
</script>
</head>
<body>
</body>
</html>
6.程式碼塊:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
在JS中,我們可以使用{}來為語句進行分組
可以將同一組的語句放到一對{}中
一個大括號中的語句,我們稱為是一個程式碼塊,程式碼塊後邊不用加;
JS中的程式碼塊僅有分組的作用沒有其他的作用,程式碼塊中的內容對於程式碼塊外是可見的
* */
/*{
alert("hello");
console.log("你好");
document.write("哈哈哈哈哈哈");
}
{
alert("hello");
console.log("你好");
document.write("哈哈哈哈哈哈");
}*/
{
var a = 123;
}
console.log(a);
</script>
</head>
<body>
</body>
</html>
相關文章
- 運算子的關係,什麼叫一元運算子,二元運算子,三元運算子,運算子優先順序,以及運算子的
- Python 運算子優先順序 運算子Python
- 8.Golang中的運算子-算術運算子、關係運算子、邏輯運算子、賦值運算子Golang賦值
- 運算子-賦值運算子賦值
- java零基礎自學第一天②,運算子:表示式,算術運算子,+操作,賦值運算子,自增自減運算子,關係運算子,邏輯運算子,三元運算子Java賦值
- php運算子 比較運算子 邏輯運算子 三元運算子PHP
- 2.5 運算子及運算子的優先順序;2.6 語句
- 運算子的優先順序
- java運算子優先順序Java
- 運算子 運算子
- Python學習-算術運算子,賦值運算子和複合運算子Python賦值
- C++運算子優先順序C++
- MySQL的四種運算子(算術運算子、比較運算子、邏輯運算子和位運算子)MySql
- javascript中&&運算子和||運算子的使用JavaScript
- python運算子及優先順序順序Python
- js相等運算子JS
- JavaScript 三元運算子JavaScript
- C++ 運算子優先順序表C++
- C++運算子優先順序特例C++
- C 語言運算子優先順序
- C語言運算子優先順序C語言
- JavaScript != 不相等運算子JavaScript
- Like Sunday, Like Rain - JavaScript運算子優先順序AIJavaScript
- Java基礎09:邏輯運算子、位運算子Java
- JavaScript 等號 = 賦值運算子JavaScript賦值
- JavaScript運算子JavaScript
- JavaScript -= 運算子JavaScript
- JavaScript += 運算子JavaScript
- JavaScript *= 運算子JavaScript
- JavaScript %= 運算子JavaScript
- JavaScript |= 運算子JavaScript
- JavaScript <<= 運算子JavaScript
- JavaScript >>>= 運算子JavaScript
- JavaScript >>= 運算子JavaScript
- JavaScript &= 運算子JavaScript
- JavaScript ^= 運算子JavaScript
- JavaScript /= 運算子JavaScript
- JavaScript in 運算子JavaScript
- c運算子優先順序表-最全c語言運算子優先順序和結合性對照表C語言