var foo = function () {} と function foo() の違い
今回は var foo = function () {} と function foo() の違い var foo = function () {} と function foo() を使用する際の注意事項について紹介します。実際のケースを見てみましょう。
ある日、コードを書いているときに、突然この問題に遭遇しました。JavaScriptの関数と変数宣言の「ホイスト」動作をまとめてみましょう簡単に言えば、
匿名関数を使用する場合 このように、変数宣言 a はコンパイル後に「進められます」が、その代入 (つまり a) は進められません。 var a = {}
这种方式, 编译后变量声明a 会“被提前”了,但是他的赋值(也就是a)并不会被提前。
也就是,匿名函数只有在被调用时才被初始化。
如果使用
function a () {};
这种方式, 编译后函数声明和他的赋值都会被提前。
也就是说函数声明过程在整个程序执行之前的预处理就完成了,所以只要处于同一个作用域,就可以访问到,即使在定义之前调用它也可以。
看一个例子
function hereOrThere() { //function statement return 'here'; } console.log(hereOrThere()); // alerts 'there' function hereOrThere() { return 'there'; }
我们会发现alert(hereOrThere)
语句执行时会alert('there')
function a () {};
を使用すると、コンパイルされた関数の宣言とその代入が進められます。 つまり、プログラム全体が実行される前に関数宣言処理の前処理が完了しているので、同じスコープ内であれば定義前に呼び出してもアクセス可能です。
例を見てくださいfunction hereOrThere() { //function statement return 'here'; } function hereOrThere() {//申明前置了,但因为这里的申明和赋值在一起,所以一起前置 return 'there'; } console.log(hereOrThere()); // alerts 'there'
alert(hereOrThere)
ステートメントが実行されると、 alert('there')
が表示されることがわかります。ここでの動作は実際には非常に予期せぬものです。主な理由は、JavaScript 関数宣言の「初期の」動作です。つまり、JavaScript では変数と関数を宣言する前に使用することができ、2 番目の定義が最初の定義をオーバーライドします。つまり、上記のコードがコンパイルされた後、それは
var hereOrThere = function () { // function expression return 'here'; }; console.log(hereOrThere()); // alerts 'here' hereOrThere = function () { return 'there'; };
var hereOrThere;//申明前置了 hereOrThere = function() { // function expression return 'here'; }; console.log(hereOrThere()); // alerts 'here' hereOrThere = function() { return 'there'; };
このメソッドは習得できたと思います。この記事の事例を読んだ後、さらに興味深い情報を入手してください。php 中国語 Web サイトの他の関連記事にも注目してください。
以上がvar foo = function () {} と function foo() の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











C言語関数は、コードモジュール化とプログラム構築の基礎です。それらは、宣言(関数ヘッダー)と定義(関数体)で構成されています。 C言語は値を使用してパラメーターをデフォルトで渡しますが、外部変数はアドレスパスを使用して変更することもできます。関数は返品値を持つか、または持たない場合があり、返品値のタイプは宣言と一致する必要があります。機能の命名は、ラクダを使用するか、命名法を強調して、明確で理解しやすい必要があります。単一の責任の原則に従い、機能をシンプルに保ち、メンテナビリティと読みやすさを向上させます。

Photoshopでパスワードで保護されたPDFをエクスポート:画像ファイルを開きます。 [ファイル]&gtをクリックします。 「エクスポート」> 「PDFとしてのエクスポート」。 「セキュリティ」オプションを設定し、同じパスワードを2回入力します。 [エクスポート]をクリックして、PDFファイルを生成します。

H5。ミニプログラムとアプリの主な違いは次のとおりです。技術アーキテクチャ:H5はWebテクノロジーに基づいており、ミニプログラムとアプリは独立したアプリケーションです。経験と機能:H5は軽量で使いやすく、機能が限られています。ミニプログラムは軽量で、インタラクティブが良好です。アプリは強力で、スムーズな経験があります。互換性:H5はクロスプラットフォーム互換性があり、アプレットとアプリはプラットフォームによって制限されています。開発コスト:H5には、開発コストが低く、中程度のミニプログラム、最高のアプリがあります。適用可能なシナリオ:H5は情報表示に適しており、アプレットは軽量アプリケーションに適しており、アプリは複雑な機能に適しています。

C言語関数は再利用可能なコードブロックです。彼らは入力を受け取り、操作を実行し、結果を返すことができます。これにより、再利用性が改善され、複雑さが軽減されます。関数の内部メカニズムには、パラメーターの渡し、関数の実行、および戻り値が含まれます。プロセス全体には、関数インラインなどの最適化が含まれます。単一の責任、少数のパラメーター、命名仕様、エラー処理の原則に従って、優れた関数が書かれています。関数と組み合わせたポインターは、外部変数値の変更など、より強力な関数を実現できます。関数ポインターは機能をパラメーターまたはストアアドレスとして渡し、機能への動的呼び出しを実装するために使用されます。機能機能とテクニックを理解することは、効率的で保守可能で、理解しやすいCプログラムを書くための鍵です。

Vueアプリケーションを開発するときに、ルーターフォルダーの下にindex.jsファイルにvuerouterを登録する必要性があるため、ルーティング構成で問題が発生することがよくあります。特別...

CとC#には類似点がありますが、それらは完全に異なります。Cはプロセス指向の手動メモリ管理、およびシステムプログラミングに使用されるプラットフォーム依存言語です。 C#は、デスクトップ、Webアプリケーション、ゲーム開発に使用されるオブジェクト指向のガベージコレクション、およびプラットフォーム非依存言語です。

JavaScriptのDOMノードの下でのXpath検索方法の詳細な説明、XPath式に基づいてDOMツリーから特定のノードを見つける必要があることがよくあります。あなたがする必要があるなら...

H5とMINIプログラムのプロモーション方法には違いがあります。プラットフォーム依存:H5はブラウザに依存し、MINIプログラムは特定のプラットフォーム(WeChatなど)に依存しています。ユーザーエクスペリエンス:H5エクスペリエンスは貧弱で、ミニプログラムはネイティブアプリケーションと同様のスムーズな体験を提供します。通信方法:H5はリンクを介して広がり、ミニプログラムはプラットフォームで共有または検索されます。 H5プロモーション方法:ソーシャル共有、電子メールマーケティング、QRコード、SEO、有料広告。ミニプログラムプロモーション方法:プラットフォームプロモーション、ソーシャル共有、オフラインプロモーション、ASO、他のプラットフォームとの協力。
