JavaScript関数定義

関数を定義する

JavaScript で関数を定義する方法は次のとおりです:

function abs(x) {
if (x >= 0) { return x;
} else { return -x;
}
}

上記の abs() 関数の定義は次のとおりです:

function は、これが関数定義であることを示します。abs は関数の名前です (x) 関数のパラメーターは括弧内にリストされています。 、複数のパラメータは、; で区切られます。{ ... } の間のコードは関数本体であり、複数のステートメントを含めることも、ステートメントを含めないこともできます。

関数本体内のステートメントが実行される場合、returnが実行されると、関数が実行され、結果が返されることに注意してください。したがって、条件判定やループ処理により、関数内に非常に複雑なロジックを実装することができます。

return文がない場合、関数実行後に結果が返されますが、結果は不定となります。

JavaScript関数もオブジェクトであるため、上で定義したabs()関数は実際には関数オブジェクトであり、関数名absは関数を指す変数とみなすことができます。

それで、関数を定義する 2 番目の方法は次のとおりです:

var abs = function (x) {
if (x >= 0) { return x;
} else { return -x;
}
このように、 function (x) { ... } は関数名を持たない匿名関数です。ただし、この無名関数は変数 abs に代入されているため、変数 abs を介して関数を呼び出すことができます。

上記の 2 つの定義は完全に同等です。2 番目のメソッドでは、完全な構文に従って関数本体の最後に ; を追加して、代入ステートメントの終わりを示す必要があることに注意してください。


関数は JavaScript 言語の中核の 1 つで、その基本的な構文は次のとおりです:

関数 functionName(arg0, arg1, ...) {

ステートメント}文法解釈

関数を使用するキーワード定義 関数
function キーワードの後に​​はスペースが続き、その後に関数名が続きます。関数名の後には arg0 と arg1 が関数のパラメータを表します。パラメータは「,」で区切られます。記号。パラメータの数は 0 ~ 25 です (0 はパラメータがないことを意味します)。パラメータがない場合、()括弧は省略できません。25を超えるパラメータはJavaScriptで無視されます

{}は関数本体であり、関数で実装される関数文が含まれます

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
    <script type="text/javascript">  
          function hello(name){
          document.write((name + ",你好!"));
        }
    </script>  
</head>  
<body>  
  <input type="button" onclick="hello('小明')" value="确定"/>
</body>  
</html>

関数式

JavaScript 関数は式を介して定義できます。

関数式は変数に保存できます:

var x = function (a, b) {return a * b};

関数式を変数に格納した後、変数は関数としても使用できます:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<p id="demo"></p>
<script>
var x = function (a, b) {return a * b};
document.getElementById("demo").innerHTML = x(6, 9);
</script>
</body>
</html>


機能のプロモーション (ホイスティング)

前回のチュートリアルで、「ホイスティング」についてはすでに学習しました。

ホイスティングは、現在のスコープを前面にホイストする JavaScript のデフォルトの動作です。

ホイスティングは変数宣言と関数宣言に適用されます。

したがって、関数は宣言される前に呼び出すことができます:

myFunction(5);

function myFunction(y) {
Return y * y;
}

表現。


arguments

JavaScript には無料のキーワード引数もあります。これは関数内でのみ機能し、常に現在の関数の呼び出し元によって渡されるすべてのパラメーターを指します。

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
    <script type="text/javascript">  
       function foo(x) {
            alert(x); // 10
            for (var i=0; i<arguments.length; i++) {
            alert(arguments[i]); // 10, 20, 30
            }
          }
        foo(10, 20, 30);
    </script>  
</head>  
<body>  
</body>  
</html>


関数はオブジェクトです

JavaScriptでtypeof演算子を使用して関数の型を決定すると、「function」が返されます。

しかし、JavaScript 関数はオブジェクトとしてより正確に記述されます。

JavaScript 関数にはプロパティとメソッドがあります。

arguments.length プロパティは、関数呼び出し中に受け取ったパラメーターの数を返します:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<p id="demo"></p>
<script>
function myFunction(a, b) {
    return arguments.length;
}
document.getElementById("demo").innerHTML = myFunction(4,7,3);
</script>
</body>
</html>


学び続ける
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script type="text/javascript"> function hello(name,age){ document.write("我叫" + name + ",今年" + age + "岁!"); } </script> </head> <body> <input type="button" onclick="hello('小明',18)" value="确定" /> </body> </html>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜