js関数およびjs関数式
4620 ワード
1.1音明式のフォーマット:
関数宣言:function関数名(){}
例:
function aaa(){} //
1.2式のフォーマット:関数式:function関数名(書き込み不可)(){}:それぞれの代表:命名関数式、匿名関数式
例:
var a = function aaa(){} //
var a = function(){} //
(function aaa(){}) //
~function aaa(){}
-function aaa(){}
+function aaa(){}
!function aaa(){}
二、違います2.1関数式は、直接に括弧で実行できますが、関数宣言はできません.
つまり、関数式は直接()を加えることによって実行できます.
例えば:
function aaa(){alert(1)}(); //
ただし、関数式であればvar a = function aaa(){alert(1)}(); //
~function aaa(){alert(2)}();
2.2関数式は事前に解析できます.以下の例を見てください.この2つの例では、実行結果の違いから、関数式は事前に解析されたものであることが分かります.判断によって異なる関数(関数名が同じ)を呼び出す必要がある場合は、関数式を使うと良いです.
if(true){
function aaa(){
alert(1);
}
}else{
function aaa(){
alert(2);
}
}
aaa(); //2
if(true){
var a = function aaa(){
alert(1);
}
}else{
var a = function aaa(){
alert(2);
}
}
a(); //1
2.3命名関数式と匿名関数式の違い例を見ます
var a = function aaa(){
alert(1);
alert(typeof aaa); //
}
a();
aaa(); //