1.算術運算子
1.算術運算子
- 算術運算子:+ ,— ,* ,/ ,%(取餘) ,++ ,— 。
- 重點:++和—前置和後置的區別。
1.1 前置 ++ 和 後置 ++
前置++:先自增值,再使用值。
後置++:先使用值,再自增值。
<script>
console.log("-------- 後置++ ----------");
var a=0;
console.log(a++);//0,後置是先用值,在自增值。
console.log(a);//1 自增後的值
console.log("-------- 前置++ ----------");
var b=2;
console.log(++b);//3 前置是先自增,後用值。
console.log(b);//3
console.log("-------- 後置++ ----------");
var d = 2;
var e = d++;// 後置是先用值,在自增值。
console.log( d,e );//3 2
console.log( "--------- 前置++ -------------" );
var f = 20;
var g = ++f;// 前置是先自增,後用值。
console.log( f,g );//21 21;
</script>
2.賦值運算子
2.賦值運算子
- 賦值運算子:+= ,—=*,= ,/= ,%= 。
- 計算完值後,並賦值給自己。
3.關係運算子
3.關係運算子
- <= , >= , == , != , === , !== 。
- 注意:返回的值都是布林值。
3.1 == 和 === 的區別
- == 進行比較的時候,會比較 兩者的內容,不進行資料型別的比較。
- === 不僅判斷內容 ,還會判斷 資料型別。
<script>
console.log(1=="1");//true 只比較內容,內容相等故為真。
console.log(1==="1");//false 不僅比較內容,還比較資料型別。資料型別不為真,故假。
console.log( 1 != "1" );//false
console.log( 1 !== "1" );//true
</script>
3.2需要記憶的內容
<script>
console.log( null == undefined );//true
console.log( null == 0 );//false
console.log( undefined == 0 );//false
</script>
4.邏輯運算子
-
&& (並且)
如果左邊為真,返回右邊的值。
如果左邊為假,返回左邊的值。 -
|| (或者)
如果左邊為真,返回左邊的值。
如果左邊為假,返回右邊的值 -
! (否)
把 !後面的數轉成布林值然後取反
<script>
console.log( 1 && 2 );//2
console.log( 0 && 2 );//0
console.log( 0 && "a" );//0
function fn(){
console.log("fn執行了");
}
false && fn();//不執行fn();
true && fn();//執行fn();
undefined && fn();//不執行fn();
console.log( 0 || 1 );//1
console.log( 2 || 1 );//2
var res = "a" || "b";
console.log( res );//"a"
console.log( !"false" );//"false"
</script>
5.三目運算子
三目運算子: 判斷條件 ? 語句 1 : 語句 2
判斷條件 成立 執行語句 1
不成立 執行語句 2
6.陣列的儲存
陣列賦值的時候,傳遞的是陣列的地址。
<script>
var a = 1;
var b = a; // 傳值,把a的值給b
a = 2;
console.log( b );//得到的值是1.
//------------------------------------------
var arr = ["a","b"];
var res = arr; // 傳址,賦址
arr[0] = 1;
console.log( arr );//根據地址找陣列,得到的是["1","b"]
console.log( res );//根據地址找陣列,得到的是["1","b"]
//------------------------------------------
var arr1 = ["a","b"];
var res1 = ["a","b"];
arr1[0] = 1;
//arr1陣列的地址和res1陣列的地址不相同,雖然內容相同。
console.log( arr1 );//根據地址找陣列,得到的是["1","b"]
console.log( res1 );//根據地址找陣列,得到的是[a","b"]
</script>