Javascript函數的參數,javascript函數

來源:互聯網
上載者:User

Javascript函數的參數,javascript函數

 本文是金旭亮老師網易雲課堂的課程筆記,記錄下來,以供備忘

函數的參數         

            對於參數值,JavaScript不會進行類型檢查,任何類型的值都可以被傳遞給參數。
            對於函數參數,如果過少,沒得到值的參數值為undefined,如果過多,多的會被忽略掉。

  //調用函數時傳入的實際參數  function add(num1, num2) {    return num1 + num2;  }  //一切正常的調用方式  console.info(add(1, 2)); //3  //不檢查參數的類型,字串和數字可以混用  console.info(add("1", 2)); //12  //多餘參數被忽略  console.info(add(1, 2, 3)); //3  //少的參數被視為undefined  //1+undefined=NaN  console.info(add(1)); //NaN

檢測參數是否缺失
判斷是否為 undefined

  //檢測參數是否缺失  function sayHello(name, message) {    if (typeof message === 'undefined') {      message = '你好!';    }    console.info(name + "," + message);  }  sayHello("賈君鵬", "你媽喊你吃飯");   sayHello("賈君鵬");    //賈君鵬,你好!

儲存參數的arguments對象

 利用arguments對象,寫出支援任意個參數的函數。arguments像是一個數組,但實際上不是數組,所以很多數組方法是不能用的。

  //儲存參數的arguments對象  function sumNumbers() {    var result = 0;    for (var i = 0; i < arguments.length; i++) {      result += arguments[i];    }    return result;  } console.info(sumNumbers(1, 2)); //3 console.info(sumNumbers(1, 2, 3)); //6

函數對象的length屬性  

               arguments.length       函數接收的實參個數
                函數名.length             函數定義的形參

 //函數對象的length屬性 function sayName(name){   console.info(name); } function sum(num1, num2){   return num1 + num2; } function sayHi(){   console.info("hi"); } console.info(sayName.length); //1 console.info(sum.length); //2 console.info(sayHi.length); //0  

作為參數的函數對象
函數是一個對象,可以作為另一個函數的參數

 //作為參數的函數對象 function callSomeFunction(func, argu) {   return func(argu); } function getGreeting(name) {   return "Hello, " + name; } var result = callSomeFunction(getGreeting, "jxl"); console.info(result); //Hello,jxl

使用命名/匿名函數作為函數參數

  var callTwice = function (otherFunc) {    otherFunc();    otherFunc();  };  callTwice(function () {    console.info("this is a function");  });

函數作為參數執行個體:

<script>  var button = document.getElementById('btnClick');  var result = document.getElementById('result');  var clickCount = 0;  button.addEventListener('click', function () {    clickCount++;    result.setAttribute('value', clickCount+': Hello,world!');  })</script>

以上所述就是本文的全部內容了,希望大家能夠喜歡。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.