JS從0開始——第二天筆記
阿新 • • 發佈:2018-12-12
目錄
條件語句(三種)
if……else……
邏輯運算子
- &&:並且,同時滿足
- ||:或,只要滿足其中一個
三元運算子
條件?條件成立時執行的語句:條件不成立時執行的語句
switch case:絕對比較
從上而下依次進行比較,而且進行的是絕對比較
var num=10;
switch (num){
case "10":
console.log(1);
break;//停止,不讓語句繼續向下判斷
case 10:
case "10px"://滿足兩條語句其中一個時就執行
console.log(2);
break;
……
default://上邊都不成立時執行此處的語句
console.log(n)
}
迴圈語句(三種)
for迴圈(四步曲)
- 定義變數i;
- 判斷條件是否成立;
- 執行迴圈體;
- 執行i++。
執行過程1->2->3->4->2->3->4->2……
for(var i=0;i<n;i++)
//迴圈體
}
//JS是單執行緒的,同一時間,只能做一件事。
continue:停止本輪迴圈,迴圈體中下面的程式碼不再執行。
break:終止整個迴圈。
for……in…… 迴圈
物件沒有length屬性,所以用for……in……迴圈
var obj={} for(var key in obj){ console.log(obj[key]); break;//終止迴圈 } // key:代表屬性名,而且是個字串 // obj[key] 代表屬性名的屬性值 // 屬性名是數字的先輸出;輸出迴圈會根據屬性名進行排序,從小到大依次輸出;
while迴圈
改變while的條件一般在迴圈體中進行修改;
一般用於不知道迴圈多少次時;
while:阻塞主執行緒,讓程式碼在此停留;
函式
定義函式
函式的定義:
- 首先會開闢一個十六進位制的空間地址:堆記憶體;
- 函式體中的程式碼以字串的形式儲存到堆記憶體中;
把這個空間地址賦值給函式名。
sum實際就儲存一個空間地址
執行函式
作用域:是提供程式碼執行環境的;
- 首先形成一個私有的作用域;
- 形參賦值;
- 變數提升;
- 程式碼從上到下執行;
- 作用域是否銷燬。
形參和實參
- 形參:函式定義的小括號中傳入的引數就是形參;
- 實參:函式執行時的小括號中傳入的引數就是實參;
- 如果函式中只有形參,沒有實參,那麼函式中形參預設儲存的值是undefined;
函式的arguments
- 函式的實參集合,只能在函式體中使用;
- 不是一個數組,是一個類陣列;
- 適用於引數較多的情況。
function sum(){
var total=0;
for(var i=0;i<arguments.length;i++){
var cur=Number(arguments[i]);//轉為換數字
if(!isNaN(cur)){ //檢驗是否是有效數字
total+=cur;
}
}
return total;//return返回的不是total這個私有變數,實際上是total之前儲存的值。
}
//只要函式執行,就會有一個返回值,函式的返回值是return出來的值
var s=sum(1,1,5,554,22,"16px","10"...)
console.log(s)
return:函式的出口
- 把函式體內部的值return到函式體外面。
- return終止函式的執行,return下面的程式碼都不執行。
- return返回什麼值,就是怎麼值。如果沒有return出內容,或者函式中沒有return,那麼函式預設都返回undefined。
函式的知識很多,說好理解它好理解,說它不好理解,它也不好理解,所以要自己多斟酌。比如return吧,看著簡單,但是理解起來需要下一番功夫,還有其他函式,比如匿名函式,自執行函式等等