ホームページ >ウェブフロントエンド >jsチュートリアル >javascript_javascript スキルでの関数宣言の概要

javascript_javascript スキルでの関数宣言の概要

WBOY
WBOYオリジナル
2016-05-16 19:06:56998ブラウズ

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 を作成する必要があります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。