1.除了字串參與的加法外,非number型別的值進行運算時,會將這些值轉換為number然後再運算
var res = true + 100;console.log(res); // =101
var res1 = true + false;
console.log(res1);//=1
var res2 = null + 10;
console.log(res2);//=10
// 字串做減法也會轉換為number
var res1 = 100 - '123';
console.log(res1);//=-23
2. 任何值和nan做運算都得nan
3. 任何的值和字串做加法運算,都會先轉換為字串,然後再和字串做拼串的操作
4. 除0結果是無限大infinity
5. *=運算子運算順序
6. 非數值與數值進行比較時,會將其轉換為數字然後在比較
console.log(1 > false); //true
console.log(1 >= true); //
true
console.log(1 >= 'it10'); //
true
console.log(1 > null); //
true
7. 如果符號兩側的值都是字串時,不會將其轉換為數字進行比較, 而會分別比較字串中字元的unicode編碼
8. null、undefined 、nan比較
console.log(null == null);//true
console.log(undefined == undefined);//
true
console.log(nan == nan); //
false
var num = nan;
console.log(isnan(num)); // true
console.log(null == undefined); // true
console.log(null === undefined); // false
9. 邏輯短路
&&:第乙個為假,第二個將不會繼續運算
||:第乙個為真,第二個將不會繼續運算
10. 邏輯運算返回值
//對於非boolean型別的數值, 邏輯與會自動將其轉換為boolean型別來判斷
//邏輯與運算
//如果條件a成立, 不管條件b成不成立都返回條件b數值本身
var result = 123 && 'abc';
console.log(result);
//='abc'
var result = 123 && 0;
console.log(result);
//=0
//如果條件a不成立, 則返回條件a的數值本身
var result = null && 0;
console.log(result);
//=null
//邏輯或運算
var result = 123 || 'abc';
console.log(result);
//=123
var result = null || 0;
console.log(result);
//=0
11. 對乙個值進行兩次取反,它不會變化
12. js括號裡有多個逗號分隔的表示式會怎麼運算和取值?
依次從左至右運算,取值為最後乙個表示式的值
rowtype的幾個注意點
一 rowtype只是指明引用的記錄的型別,但不保證not null約束 我們知道使用 type和 rowtype可以分別指定引用的字段 記錄型別,但其中有乙個特別需要注意的地方 type和 rowtype都不保證not null約束。例如 declare my empno emp.empno ty...
rowtype的幾個注意點
一 rowtype只是指明引用的記錄的型別,但不保證not null約束 我們知道使用 type和 rowtype可以分別指定引用的字段 記錄型別,但其中有乙個特別需要注意的地方 type和 rowtype都不保證not null約束。例如 declare my empno emp.empno ty...
C 的幾個注意點
1.static全域性變數與普通的全域性變數有什麼區別 static全域性變數只初使化一次,防止在其他檔案單元中被引用 static區域性變數和普通區域性變數有什麼區別 static區域性變數只被初始化一次,下一次依據上一次結果值 靜態區域性變數是指在函式體內宣告和定義的區域性變數,它僅供本函式使用...