類型轉(zhuǎn)換
隱式轉(zhuǎn)換
顯式轉(zhuǎn)換
轉(zhuǎn)換為Boolean類型:Boolean(xxx) ; !!xxx
數(shù)字類型轉(zhuǎn)換為布爾類型: NaN 童漩、0 為 false弄贿,其他為 true。
字符串類型轉(zhuǎn)換為布爾類型:
- ‘ ’ 空字符串為 false矫膨;
- 其他都為 true差凹。
- null 、undefined 類型轉(zhuǎn)換為布爾類型:都為 false侧馅。
4.對象類型轉(zhuǎn)換為布爾類型:所有對象都為 true危尿。
轉(zhuǎn)換為number類型:number(xxx)
- 布爾類型轉(zhuǎn)換為數(shù)字類型:
- true為 1
- false為0
- 字符串類型轉(zhuǎn)換為數(shù)字類型:
- 字符串里面是數(shù)字時直接轉(zhuǎn)換為數(shù)字(數(shù)據(jù)類型為number)
- 字符串里面是其他時為NaN
noll 轉(zhuǎn)為 0;
undefined 轉(zhuǎn)為 NaN.
轉(zhuǎn)換為string類型:變量 + ‘’ 馁痴、 String(num) 谊娇、num.toString()
- 直接給變量加上雙引號,變成字符串: 變量 + ‘’;
2.對象 + ‘’ 時罗晕,類型為[object Object]济欢。
算術(shù)運(yùn)算
- "+ - * / %";
- 兩個變量相加規(guī)則
- 兩個數(shù)字相加
- 有一個變量是字符串時,+號的意思是連接
- NaN,null,undefined + 數(shù)字:
NaN + 20 = NaN; null + 20 = 20; undefined + 20 = NaN - 兩個小數(shù)相加,有可能出現(xiàn)很多小數(shù)(先把小數(shù)變成整數(shù)再處理) : (1.210 + 7.610)/10
- 兩個變量相減規(guī)則(同加)。
邏輯運(yùn)算
1.邏輯非 ! :取反小渊。
2.邏輯與 &&:
- 一假則假法褥、全真才為真;
- 取值:
(1) 從左往右判斷如果全為true就取最后一個為true的變量酬屉;
(2)如果有false挖胃,取運(yùn)行到第一個false的值,之后的不再運(yùn)算梆惯。
var boo = true;
var str = '10';
var num = 33;
var a = null;
var b = 0;
console.log(boo && num && a && str); //輸出值為 null
console.log(str && b && boo && num);//輸出值為 0
3.邏輯或 ||
- 一真則真,全假才為假
- 取值:
(1)為真:第一個為true取第一個,否則取第下一個為真變量吗垮;
(2)為假:去最后一個變量垛吗。
var boo = true;
var str = '10';
var num = 33;
var a = null;
var b = 0;
console.log(num || str || boo || a || b);//輸出值為 33
console.log(b || str || boo || a || num);//輸出值為 10
console.log(b || a || boo || num);//輸出值為 true
console.log(b || a);//輸出值為 33
一元運(yùn)算
- i++ :先運(yùn)算再自加1; ++i :先自加1再運(yùn)算烁登;
- i-- :先運(yùn)算再自減1怯屉; --i :先自減1再運(yùn)算蔚舀;
運(yùn)算符優(yōu)先級:
() > 自加和自減 >算術(shù)運(yùn)算 >關(guān)系運(yùn)算(比較運(yùn)算)> 邏輯運(yùn)算 > 賦值運(yùn)算
同級運(yùn)算,從左到右執(zhí)行