js関数
2755 ワード
関数の宣言
JavaScriptには3つの関数を宣言する方法があります.
(1)functionコマンド
functionコマンド宣言のコードブロックは、関数です.Functionコマンドの後は関数名で、関数名の後は丸括弧で、中は着信関数のパラメータです.関数は大括弧の中にあります.
(2)関数式
関数を宣言するためにfunctionコマンドを使う以外に、変数の割り当ての書き方もできます.
関数式宣言関数を使用する場合は、関数名の後ろには関数名がありません.関数名を加えると、この関数名は関数体内部でのみ有効で、関数体外部では無効です.
(3)Function構成関数
三つ目の宣言関数の方式はFunctionコンストラクタです.
任意の数のパラメータをFunctionコンストラクタに渡すことができます.最後のパラメータだけが関数体として扱われます.パラメータが一つしかないなら、このパラメータは関数体です.
総じて、このような宣言関数の方式は非常に直観的ではなく、ほとんど使われていません.関数の繰り返し宣言
同じ関数が何度も声明されると、後の声明が前の声明を覆います.
条件文
通常はコードを書く時、異なる決定のために異なる動作を実行する必要があります.コードに条件文を使ってタスクを完了できます.
JavaScriptでは、以下の条件文が使えます.
コードは、指定された条件がtrueの場合にのみ実行されます.構文
2.If...else文
if....else文を使用して、条件がtrueの時にコードを実行し、条件がfalseの時に他のコードを実行してください.構文
if....else if...else文を使用して、複数のコードブロックを選択して実行します.構文
JavaScriptには3つの関数を宣言する方法があります.
(1)functionコマンド
functionコマンド宣言のコードブロックは、関数です.Functionコマンドの後は関数名で、関数名の後は丸括弧で、中は着信関数のパラメータです.関数は大括弧の中にあります.
function print(s) {
console.log(s);
}
上記のコードはprint関数と名づけられました.今後print(print)という形式を使うと、該当コードを呼び出すことができます.これは関数という声明です.(2)関数式
関数を宣言するためにfunctionコマンドを使う以外に、変数の割り当ての書き方もできます.
var print = function(s) {
console.log(s);
};
この表記は匿名関数を変数に割り当てます.この場合、この匿名関数は、関数式(Function Expression)とも呼ばれます.これは、割当文の等号の右側に式を置くしかないからです.関数式宣言関数を使用する場合は、関数名の後ろには関数名がありません.関数名を加えると、この関数名は関数体内部でのみ有効で、関数体外部では無効です.
var print = function x(){
console.log(typeof x);
};
x
// ReferenceError: x is not defined
print()
// function
上のコードは関数式に関数名xを加えます.このxは関数の内部だけで使用できます.関数の表現自体を指します.他のところは全部利用できません.このような書き方の用途は2つあります.1つは、関数の内部で自身を呼び出すことができます.2つは、エラーの解消に便利です.したがって、以下の形式のステートメント関数も非常に一般的である.var f = function f() {};
関数の表式は、語句の末尾にセミコロンを付けて文の終わりを表します.関数の宣言は、末尾の大括弧の後に加算記号を使用しません.総じて言えば、これらの2つの宣言関数の方式は、非常に微妙な違いがあり、等価と近似されることができる.(3)Function構成関数
三つ目の宣言関数の方式はFunctionコンストラクタです.
var add = new Function(
'x',
'y',
'return x + y'
);
//
function add(x, y) {
return x + y;
}
上のコードでは、Functionコンストラクタは、最後のパラメータがadd関数の「関数体」であることを除いて、三つのパラメータを受け入れます.他のパラメータはすべてadd関数のパラメータです.任意の数のパラメータをFunctionコンストラクタに渡すことができます.最後のパラメータだけが関数体として扱われます.パラメータが一つしかないなら、このパラメータは関数体です.
var foo = new Function(
'return "hello world"'
);
//
function foo() {
return 'hello world';
}
Functionコンストラクタはnewコマンドを使わずに返しても良いです.総じて、このような宣言関数の方式は非常に直観的ではなく、ほとんど使われていません.関数の繰り返し宣言
同じ関数が何度も声明されると、後の声明が前の声明を覆います.
function f() {
console.log(1);
}
f() // 2
function f() {
console.log(2);
}
f() // 2
上のコードでは、後の関数宣言が前回を覆っています.また、関数名の向上により、前回の宣言はいつでも無効となりますので、特に注意してください.条件文
通常はコードを書く時、異なる決定のために異なる動作を実行する必要があります.コードに条件文を使ってタスクを完了できます.
JavaScriptでは、以下の条件文が使えます.
if - true ,
if...else - true , false
if...else if....else -
switch -
1.If文コードは、指定された条件がtrueの場合にのみ実行されます.構文
if ( )
{
true
}
注意:小文字のifを使ってください.大文字(IF)を使うとJavaScriptエラーが発生します.2.If...else文
if....else文を使用して、条件がtrueの時にコードを実行し、条件がfalseの時に他のコードを実行してください.構文
if ( )
{
true
}
else
{
true
}
4.If...else if...else文if....else if...else文を使用して、複数のコードブロックを選択して実行します.構文
if ( 1)
{
1 true
}
else if ( 2)
{
2 true
}
else
{
条件1と条件2がtrueでない場合に実行されるコード}