一 、javascript數(shù)據(jù)類型
六大數(shù)據(jù)類型
Number String Boolean null Undefined Object([] {} function)
ES6:
symbol
1. Number 數(shù)字
var num = 123;
2.String 字符串
var str = 'ok'
3.Boolean 布爾值 true/false
var onoff = true ;
4.Function 函數(shù)
1. 一 函數(shù)表達(dá)式
2.var abc = function(){}
3. 二 函數(shù)定義
4.function abc(){
5.}
5.Object 對(duì)象
(節(jié)點(diǎn)對(duì)象、自定義對(duì)象、array(數(shù)組)、json、null、系統(tǒng)對(duì)象) 簡(jiǎn)單介紹array json
Undefined 未定義
typeof obj 判斷類型
二、判斷語(yǔ)句
- 盡量不要發(fā)生多層嵌套的if
判斷語(yǔ)句返回Boolean(布爾值)
==判斷值>大于<小于<=小于等于>=大于等于!=不等于===全等于 除了判斷值,還會(huì)判斷數(shù)據(jù)類型!==不全等
== 和 ! = 當(dāng)兩個(gè)比較參數(shù)類型不同時(shí),會(huì)發(fā)生類型轉(zhuǎn)換
=== 和 ! == 不會(huì)發(fā)生類型轉(zhuǎn)換
>=<=值類型不同時(shí),也會(huì)發(fā)生類型轉(zhuǎn)換
++和--會(huì)自動(dòng)的把字符串轉(zhuǎn)化為數(shù)值,值不相等時(shí)還會(huì)發(fā)生類型轉(zhuǎn)換!
false
0
""
null
undefined
nan
- 比較符最終比較的都是 布爾值
賦值行為不是比較行為
三、 if 條件語(yǔ)句
當(dāng)我們的
if判斷只有一條語(yǔ)句的時(shí)候,并且語(yǔ)句只有一條的時(shí)候,后面的花括號(hào)可以不用寫(xiě),兩條就不行
if (a > 5) a = 1;
let a = 1,
b = 2,
c = 3;
d = 4;
if ( a === b ) {
console.log("輸出1");
}else if ( b === c ) {
console.log("輸出2");
}else if ( c === d ) {
console.log("輸出3");
}else {
console.log("都不是");
}
if()中的條件會(huì)強(qiáng)制轉(zhuǎn)化為布爾值,為false數(shù)據(jù): false 0 '' null undefined NaN
四、 三目運(yùn)算
if一定有且僅有兩個(gè)分支,并且每個(gè)分支只有一條語(yǔ)句
a === b ? console.log("輸出1") : console.log("都不是");
等同于
let a = 1,
b = 2,
c = 3;
d = 4;
if ( a === b ) {
console.log("輸出1");
}else {
console.log("都不是");
}
當(dāng)我們邏輯中的都是執(zhí)行同一個(gè)函數(shù),那我們又可以進(jìn)行縮寫(xiě)(等同于上面)
console.log( a === b ? "輸出1" : "都不是" )
五、switch case 條件語(yǔ)句
if 可以寫(xiě)成 switch語(yǔ)句必須滿足的條件
每一次的分支判斷都是采用的三個(gè)等于(===)
每一個(gè)分支的三個(gè)等于都是對(duì)用一個(gè)條件的判斷
switch ( a ) {
case a === b :
console.log("輸出1");
break;
case a === c :
console.log("輸出2");
break;
case a === d :
console.log("輸出3");
break;
default:
console.log("都不是");
break;
}
break break語(yǔ)句。它用于跳出switch()語(yǔ)句,來(lái)阻止代碼自動(dòng)地向下一個(gè)case運(yùn)行
default關(guān)鍵詞來(lái)規(guī)定匹配不存在時(shí)做的事情
開(kāi)關(guān)代碼
<div id="box"></div>
<script>
let box = document.getElementById("box");
let mark = true;
box.onclick = function () {
if ( mark ) {
box.style.width = "500px";
mark = false;
}else{
box.style.width = "100px";
mark = true;
}
}
</script>