規則:
<1> number型別之間相乘,直接相乘;
<1>number與string型別相乘,先將string轉換為number型別,再進行相乘,如果是純數字字串,轉為數字再相乘, 否則,轉為nan,結果為nan;
<3>將 true轉換為1,false是、轉換為0,null轉換為0,進行計算即可。
<4>如果型別是undefined或nan,結果一定是nan。
規則:同乘法基本相同
注: 非0的數除以0,結果為infinity
0 除以0, 結果為nan
規則:同乘法基本相同
注:0做除數,結果nan
規則:同乘法規則相同
規則:<1>如果運算子兩邊有字串,則連線兩邊資料成乙個字串;
<2>除第一條規則外,true轉為1,false為0,null為0,以此計算即可;
<3>型別為undefined nan,結果為nan。
關係運算子有:
> 大於
>= 大於等於
< 小於
<= 小於等於
規則:1>number型別之間進行比較,直接比;
2>number與string之間比較,先將string轉換為number,再進行比較;
3>string之間進行比較,從左到右按照位數依次進行比較;
4>true(1) false(0) null(0)比較;
5>與undefined nan型別比較,結果為false。
另一部分
== :等於
=:恆等於
!=:不等於
!:不恒等
區別:== != 只比較結果,不看資料型別,如 3==『3』
=== !== 先比較資料型別,再比較結果 3===『3』
切記
console.log(null == false); //false
console.log(null == 0); //false
console.log(null == ''); //false
console.log(null == undefined); //true
console.log(null === undefined); //false
console.log(nan == nan); //false
非真即假,非假即真
規則: 如果&&左邊的表示式的值為true時,則返回&&右邊表示式的值
如果&&左邊表示式的值為false時,發生短路,則返回&&左邊表示式的值
var a;
var b = 3 == '3' && (a = 5);
var c = !b !== 0 && (a = 8);
var d = 3 + 2 === '5' && (a = 10);
console.log(a,b,c,d);
規則: 如果||左邊表示式的值為true時,發生短路,則返回||左邊表示式的值
如果||左邊表示式的值為false時,則返回||右邊表示式的值
var a;
var b = 3 == '3' || (a = 5); //b = true
var c = !b !== 0 || (a = 8); //c = true
var d = 3 + 2 === '5' || (a = 10); //a = 10 d = 10
?:
格式: 條件 ?表示式 : 表示式
邏輯關係: 先計算條件,值為true, 執行?後的表示式,值為false,執行:後的表示式
// 判斷乙個成績是否合格?
//prompt('提示語句','預設值') : 具有輸入功能及確定和取消按鈕的彈框
var fnum = prompt('請輸入乙個成績:','如:88');
// fnum >= 90 ? '合格' : '不合格'
console.log(fnum >= 90 ? '合格' : '不合格');
// 判斷乙個數是正數還是負數?
var inum = prompt('請輸入乙個成績:');
// inum == 0 ? '既不是正數,也不是負數' : inum > 0 ? '正數' : '負數'
console.log(inum == 0 ? '既不是正數,也不是負數' : inum > 0 ? '正數' : '負數');
1. 簡單賦值 =
2. 復合算術賦值運算子 += -= *= /= %=
運算邏輯 :先取運算子左邊變數中的值與運算子右邊表示式的值進行相應的算術運算,然後將運算的結果再次賦值給運算子左邊的變數。
var a = 3;
a *= 4 + 3; // a = a * (4 + 3)
// a = 3 * 7
console.log(a);
1. new : 建立物件(例項化物件)
2. typeof : 使用者測試資料型別
var inum = 3;
var onum = new number(3);
var ostr = new string();
var oboo = new boolean();
var obj = new object();
console.log(typeof inum,typeof onum,typeof ostr); //'number' 'object' 'object'
console.log(typeof 8); //number 'number'
console.log(typeof '8'); //string 'string'
console.log(typeof true); //boolean 'boolean'
console.log(typeof null); //object 'object'
console.log(typeof undefined); //undefined 'undefined'
console.log(typeof nan); //number 'number'
console.log(typeof ); //object 'object'
console.log(typeof {}); //object 'object'
console.log(typeof typeof 8); // string 'string'
// typeof 8 'number' typeof 'number' 'string'
JavaScript運算子中的隱式轉換規律
如果包含的是有效數字字串或者是有效浮點數字串,則會將字串轉換 number 為數值,再進行加減操作,返回值的型別是 number型別。如果不包含有效數字字串,則會將字串的值轉換為nan,返回值的型別是 number型別。如果是boolean型別,則先會把true或者false轉換為1或者0,再進行加...
javascript 運算子詳解
一 算術運算子 二 賦值運算子 三 字串 運算子 str1 hello,str2 i am mark txt3 txt1 txt2 str3 hello,i am mark greeting visitor mark dear president dear 如果變數 visitor 中的值是 mar...
javascript的短路運算子
短路運算子 先來段 左邊為 true 時 返回右邊 的執行結果 2 1 a 1 結果列印 後面的 執行結果 也就是 1 左邊為 false 時 返回左邊 的執行結果 2 1 a 1 結果列印 前面的 執行結果 也就是 false 以上我們得出結論 短路運算子 只有前面的 為 真 true 時才執行後...