Javascript関数のパラメータ

2985 ワード

この文章は金旭亮先生の網易雲教室の課程ノートです.
関数のパラメータ         
            パラメータ値については、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("   ");    //   ,  !

パラメータを保存するアーグメンントオブジェクト
 argmentsオブジェクトを利用して、任意のパラメータをサポートする関数を書き出します.argmentsは配列のようですが、実際には配列ではないので、多くの配列方法は使えません.

  //     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属性  
               argments.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");
  });

関数はパラメータの例として使用されます.


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

以上述べましたが、本文の内容は全部です.お好きになってください.