国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Function

劉永祥 / 2821人閱讀

摘要:什么是函數函數封裝一項專門任務的步驟清單的代碼段,起一個名字。程序中提供的一項服務的步驟說明何時使用函數當一項任務需要反復執行,但又不希望重復編寫時。何時如何為參數變量賦值在調用函數時,按照參數定義時的順序和個數,依次傳入參數值。

function
什么是函數:
函數:封裝一項專門任務的步驟清單的代碼段,起一個名字。(**程序中提供的一項服務的步驟說明**)
 何時使用函數?當一項任務需要反復執行,但又不希望重復編寫時。(**代碼重用!**)
 如何聲明函數:function 任務名([參數變量列表]){
            步驟清單代碼段
                        [return 返回值]
                  }
     ***函數名(任務名): 指向函數定義的一個變量
                      函數:封裝函數定義的引用類型對象
            ***聲明時,不執行!也不讀取內部的代碼!
        如何調用函數執行:任何位置: 函數名([參數值列表]);
            ***調用時,才讀取內部的代碼,執行
            
 參數變量:專門接收要傳入方法中處理的數據的變量。
  何時需要定義參數:如果一個函數,必須一些數據才可正常執行,需要幾個數據,就定義幾個參數變量。
  何時如何為參數變量賦值:在調用函數時,按照參數定義時的順序和個數,依次傳入參數值。
  
    返回值:函數的執行結果
            何時需要返回值:只要函數需要有明確的執行結果時
                         如果調用者需要獲得明確的執行結果時
            如何定義返回值: 函數定義內部,一般函數體結尾
                            return 值;
            調用者何時如何獲得返回值:
                    1. 一個有返回值的函數調用,可以當做一個值使用
                    2. 調用時,可使用變量保存住函數調用的返回值
function buy(what,moeny){
    console.log("Step1:取盒飯");
    console.log("Step2:去食堂");
    console.log("Step3:打飯"+what);
    moeny-=3;
    console.log("Step4:扣款3元,余額:"+moeny);
    console.log("Step5:回宿舍");
    return "香噴噴的"+what;
   }
   console.log(buy("宮保雞丁",10)); 
***變量作用域:一個變量的可用范圍
    有2種:1. 全局作用域:window
          全局變量——放在全局作用域(window)中的變量
          可在程序的任何位置訪問全局變量
         2. 局部作用域:在函數調用時才創建的作用域
              局部變量:2種:1. 參數變量
                          2. 在函數定義中var的變量
              ***僅在函數調用時,動態創建
                 調用時,如果局部有,就不用全局的!
              ***調用后,隨局部作用域一同銷毀
var kl=10;
   function rose(){
    var kl=5;
    kl--;
    console.log(kl);
   }
   function jack() {
    kl--;
    console.log(kl);
   }
   console.log(kl);//全局kl=10
   rose();//4
   console.log(kl);//全局kl=10
   jack();//9
   console.log(kl);//全局kl=9
聲明提前
  聲明提前:正式開始執行程序前,先將var聲明的變量和function聲明的函數,提前到*當前作用域*頂部,集中聲明,賦值留在原地。
var n=100;
            function fun(){
                var n;//undifend
                console.log(n);
                n=99;
                console.log(n);
            }
            fun();//99
            console.log(n);

按值傳遞:兩變量間賦值,或將變量作為函數的參數傳遞時都僅將變量中的值,復制一個副本給對方!

var n=100;
            var m=n;
            n++;
            console.log(m);//100

全局函數:ES標準中規定的,由瀏覽器廠商實現的,不需要任何對象前綴就可直接訪問的函數.

 比如:parseInt/Float(str),isNaN(n)

 比如:alert() prompt()——BOM
分支結構

分支結構:

程序結構:3種:
 順序結構:默認程序都是自上向下逐行順序執行
 分支結構:根據不同的條件,選擇執行不同的操作
         操作的復雜程度
 循環結構:讓程序反復執行同一代碼段。

分支結構:3種情況:
1. 一個條件,一件事:滿足條件就執行,(不滿足就什么都不做)
短路邏輯:條件&&(操作1,操作2...)
    何時使用:操作非常簡單時
  if結構:如果 滿足*條件*, 就執行代碼段
          if(條件){
     滿足條件時,才能執行的代碼段
          }
var price=parseFloat(prompt("請輸入單價"));
            var count=parseFloat(prompt("輸入數量"));
            var money=parseFloat(prompt("輸入收款金額"));
            var total=price*count;
            if(total>=500){
                total*=0.8;
            }
            var change=money-total;
            console.log("應收:"+total+";找零"+change);
2. 一個條件,兩件事:二選一執行!
         如果 滿足*條件*,就執行操作1,否則,執行操作2
      三目運算:條件?操作1:操作2;
        何時使用:操作1和操作2,都非常簡單時
         if...else結構:
         if(條件){
        滿足條件才執行的代碼段
         }else{//否則
        不滿足條件才執行的代碼段
         }
var price=parseFloat(prompt("請輸入單價"));
            var count=parseFloat(prompt("輸入數量"));
            var money=parseFloat(prompt("輸入收款金額"));
            var total=price*count;
            if(money>=total){
                var change=money-total;
              console.log("應收:"+total+";找零"+change);
            }else{
                var change=total-moeny;
              console.log("應收:"+total+";還差"+change);
            }

多個條件,多件事,多選一執行!(有可能都不執行)

  如果 滿足 條件1 就執行 操作1

否則,如果滿足 條件2 就執行 操作2
... ...

               [否則,默認操作]

三目:條件1?操作1:

     條件2?操作2:
             ...:
         默認操作——不可省略

if...else if結構:

    if(條件1){
 滿足條件1才執行的操作1;
     }else if(條件2){
 滿足條件2才執行的操作2;
     }else if(...){
 ...
     }[else{
  如果以上任何條件都不滿足,則執行默認操作
     }]

if (score<0||score>100) {
      console.log("無效分數");
     } else if(score>=90){
      console.log("A");
     } else if (score>=80) {
      console.log("B");
     } else if (score>=70) {
      console.log("C");
     }  else {
      console.log("D");
     }

switch...case結構:
何時使用:當條件都是全等比較時,才可用switch結構
switch(表達式){ //1. 計算表達式的結果

//用表達式的值和每個case后的值做**全等**比較
//碰到一個全等的case值,則進入該case開始執行

//并默認以此觸發之后所有case的執行
case 值1:

 滿足值1才執行的代碼段1;
case 值2:
     滿足值2才執行的代碼段2;
     ...:
     ... ...
 default:
 如果前邊的值都不滿足,執行默認代碼段

}

 switch(parseInt(prompt("請按鍵:"))){
      case 1:
      console.log("查詢進行中.....");
      case 2:
      console.log("取款中......");
      case 3:
      console.log("轉賬進行中....");
      case 0:
      console.log("歡迎下次再來!");
      default:
      console.lop("無效按鍵");
     }

break: 中止當前結構的執行,并跳出結構。

位置:在每個case之間

何時可以省略部分break:上下兩個case希望執行相同代碼時

switch(parseInt(prompt("請按鍵:"))){
      case 1:
      console.log("查詢進行中.....");
      break;
      case 2:
      case 3:
      console.log("系統維護中....");
      break;
      case 0:
      console.log("歡迎下次再來!");
      break;
      default:
      console.log("無效按鍵");
     }

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/116420.html

相關文章

  • underscore源碼解析

    說明1、源碼結構通覽,簡單注釋說明2、通過調用方法講解核心代碼邏輯 一、源碼的結構 為了方便比對源碼,按源碼的結構順序展示。underscore是個輕量級的工具庫,大部分代碼是實現特定功能以函數的形式存在,本身會比較簡單,沒對方法具體說明,可直接參考underscore中文文檔 (function() { var root = this; var previousUnderscore = ...

    kid143 評論0 收藏0
  • 函數式JS: 原來promise是這樣的monad

    摘要:定義這是類型簽名的表述。實際上對應著,只是在里作為立即量傳入,在和的返回值中作為閉包引用傳入。同時根據看出返回值是用回調返回值的。的輸出是的包裹。的方法借助了閉包引用額外輸入了,而輸入的函數輸入是輸出則是借助實現的。 轉載請注明出處: http://hai.li/2017/03/27/prom... 背景 上篇文章 函數式JS: 一種continuation monad推導 得到了一個...

    ZweiZhao 評論0 收藏0
  • 嚼一嚼event loop

    摘要:設計為單線程設計為單線程還是跟他的用途有關試想一下如果設計為多線程那么同時修改和刪除同一個瀏覽器又該如何執行需要異步我在執行但用戶不知道你好啊上圖例子循環耗時會很久這意味著用戶得不到你好啊的響應就會下意識會認為瀏覽器卡死了所以必須要有異步通 js設計為單線程 js設計為單線程還是跟他的用途有關 試想一下 如果js設計為多線程 那么同時修改和刪除同一個dom 瀏覽器又該如何執行? sh...

    wangtdgoodluck 評論0 收藏0
  • __proto__和prototype

    摘要:屬性對性能影響非常嚴重,不建議使用。當你創建函數時,會為這個函數自動添加屬性。構造函數原型的默認指向自身。所有對象均從繼承屬性。結果見下圖普通對象是構造函數的實例,所以普通對象的原型是。總結和其它函數由產生,的是他自己。 _proto_ 每個對象都有一個__proto__(前后各兩個下劃線)屬性來標識自己所繼承的原型對象。__proto__屬性對性能影響非常嚴重,不建議使用。 pro...

    raise_yang 評論0 收藏0
  • 淺析webpack源碼之Stat.js粗解(十)

    摘要:從出來接著我們看大法,打印一下感覺之前所以的對象都放在了一個合集里,給人而全的感覺里面主要含有一個對象,,輸出的,等給每次打包一個值,代表唯一性天啊 從compilation出來接著我們看 const stats = new Stats(compilation); Stats.js log大法,打印一下 stats let Stats = { compilation:{ ...

    Andrman 評論0 收藏0

發表評論

0條評論

劉永祥

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<