1. 程式人生 > >JS從0開始——第二天筆記

JS從0開始——第二天筆記

目錄

條件語句(三種)

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迴圈(四步曲)

  1. 定義變數i;
  2. 判斷條件是否成立;
  3. 執行迴圈體;
  4. 執行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:阻塞主執行緒,讓程式碼在此停留;

函式

定義函式
函式的定義:

  1. 首先會開闢一個十六進位制的空間地址:堆記憶體;
  2. 函式體中的程式碼以字串的形式儲存到堆記憶體中;
  3. 把這個空間地址賦值給函式名。

    sum實際就儲存一個空間地址

執行函式
作用域:是提供程式碼執行環境的;

  1. 首先形成一個私有的作用域;
  2. 形參賦值;
  3. 變數提升;
  4. 程式碼從上到下執行;
  5. 作用域是否銷燬。

形參和實參

  • 形參:函式定義的小括號中傳入的引數就是形參;
  • 實參:函式執行時的小括號中傳入的引數就是實參;
  • 如果函式中只有形參,沒有實參,那麼函式中形參預設儲存的值是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:函式的出口

  1. 把函式體內部的值return到函式體外面。
  2. return終止函式的執行,return下面的程式碼都不執行。
  3. return返回什麼值,就是怎麼值。如果沒有return出內容,或者函式中沒有return,那麼函式預設都返回undefined。

函式的知識很多,說好理解它好理解,說它不好理解,它也不好理解,所以要自己多斟酌。比如return吧,看著簡單,但是理解起來需要下一番功夫,還有其他函式,比如匿名函式,自執行函式等等