一門計算機語言,程式設計的核心在於邏輯思想,當我們在編寫程式的時候,邏輯是否通順,是能否正確寫出程式的關鍵,可以說如果你掌握了邏輯,那麼你就踏入了計算機程式設計的大門。
&&與 || 或 !否
邏輯 與 &&
var a=0,b=3;
alert(a==0&&b==3) //true;
alert(a==1&&b==3)//false;
他的返回值是布林型別,當兩個判斷條件都成立的時候,那麼整個語句返回true。如果有一個不成立那麼返回值為false;
邏輯 或 ||
var a=0,b=3;
alert(a==1||b==3) //true;
alert(a==0||b==4)//true;
alert(a==10||b==40)//false;
他的返回值是布林型別,當判斷條件中有一個成立的時候,那麼整個語句返回true。如果全部不成立那麼返回值為false;
邏輯 否 !
var a=0,b=3;
alert(a!=1) //true;
alert(b!=3)//false;
他的返回值是布林型別,當判斷條件不成立的時候,那麼整個語句返回true。如果成立那麼返回值為false;
自增
全國人民的乾爹,但是在馬雲創業之前,他泯然眾人,如果他不創業那?如果他不建立阿里那?他現在可能還是之前的樣子。
所以,在特定的時間點上,在經歷過特殊的事情之後,人才會改變。
a++ ,a-- 他的返回值是 a本身,因為瀏覽器的解析順序是從上到下從左到右,當我們讀取到該語句的時候,首先被解析的就是變數a,他還沒有進行任何運算,所以此時該語句的結果為變數a。
var a=1;
alert(a++);//1;
alert(a++);//????
++a ,--a 同理,因為解析順序問題,當解析器
alert(++a);//2
NaN(一個自己都和自己不一樣的特殊數字型別,表示不是數字的數字)
alert(NaN==NaN)//false
var a=0;
var b;
var c=a+b
alert(c);
//isNaN(num)函式,該函式判斷num變數的值是否是NaN
alert(isNaN(c));
Number()方法 toFixed()方法
Number對任意型別的資料進行強制型別轉換,轉換結果為數字。
alert(Number(true)); //1,Boolean 型別的 true 和 false 分別轉換成 1 和 0
alert(Number(25)); //25,數值型直接返回
alert(Number(null)); //0,空物件返回 0
alert(Number(undefined)); //NaN,undefined 返回 NaN
var a=1.22222
a.toFixed(2)//返回值是1.22
a//1.22222
如果是物件,則在轉換數字失敗後,呼叫toString方法獲得返回值;
var box = {
toString : function () {
return '123'; //可以改成 return 'abc' 檢視效果
}
};
alert(Number(box)); //123
建立物件(Object)型別
兩種方式建立
1.var obj=new Object();
2.var obj={
}
parseInt()和parseFloat();
同樣是強制轉換資料,他們之間有什麼不同那?
parseInt()該方法從左到右檢測數字或字串中第一個不為數字的字元,並把之前的所有進行返回,如果字串中第一個就不為數字那麼返回NaN;
例:
1.parseInt('123abc') a為第一個不為數字的字元;返回a之前的所有值,則該方法的返回值為123。
2.parseInt('abc123')a為第一個不為數字的字元,並在字串開頭位置,則判定該字串無法轉換為數字返回NaN;
parseFloat()該方法,檢索數字或字串後面第一個.後的不為數字的字元,並對之前所有的結果進行返回,如果第一個字元不為數字,那麼返回NaN。
例:
1.parseFloat('123.123.123abc').第一個.後不為數字的字元那麼,返回之前的字元,該方法返回123.123