ホームページ >ウェブフロントエンド >jsチュートリアル >javascript_javascript スキルでの関数宣言の概要
function test(){
return 123;
}
これは明らかに関数宣言ですが、次の
var b=function(){return 123}; はどうでしょうか。 🎜>
関数には名前がなく、単なる匿名関数であるため、誰もがこれを疑っています。
var b=function test。 (){return 123};
そう思われますが、「いいえ」と答えます。
alert(test); (){return 123};
IE 以外の任意の JS 実装でテストできますが、この場合は、未定義のテスト エラーが報告されます。
var b=function test(){return 123};
alert(b);
は関数 test(){...} の結果を表示します。 2 番目のアラートは依然として異常です。つまり、この関数 test(){return 123} はステートメントではなく関数オブジェクトであるため、関数オブジェクトはバインドされていません。デフォルトでは宣言のようにテスト名を「Use ie to test」とします。なぜなら、
alert(test){return 123}; 🎜>
ie は関数を表示します。ie は愚かなので、別の関数ステートメントと = の右側の関数オブジェクトを区別します。さらに、IE は function String.prototype.test などのステートメントもサポートします。 (){...} IE の js には多くのバグがあることがわかります。Wilson が es4 をサポートしないのも不思議ではありません。実際にはバグを修正した独自のバージョンである es3.1 を作成する必要があります。