ホームページ  >  記事  >  ウェブフロントエンド  >  jsの関数と変数のプロモーションとクロージャの説明

jsの関数と変数のプロモーションとクロージャの説明

小云云
小云云オリジナル
2018-03-14 10:24:301477ブラウズ

この記事では主に、関数と変数のプロモーションと、クロージャの原理と使用法の詳細な説明という 2 つの重要な知識点を皆さんに共有します。これが皆さんのお役に立てれば幸いです。

関数と変数の昇格

原則: 関数と変数の宣言は関数の先頭に昇格されます。
結果: 変数と関数の両方が最初に試行をサポートし、次に宣言をサポートします
ケース:

//变量提升x = 5; 
// 变量 x 设置为 5alert(x);var x; 
// 声明 x//函数提升print(5); 
//调用函数function print(y) 
{ //声明函数    return y * y;}

Closure

原則: 関数内に別の関数をネストする (他の関数はクロージャです)
結果:

  1. js には静的変数はありません。関数内で宣言されたローカル変数をローカル変数として使用できます

  2. ローカル変数が 1 回だけ呼び出されるようにするには、最初の変数割り当てを使用します。外部関数の場合、クロージャは後で呼び出されます

  3. 他の関数による変更を防ぐため (他の関数はグローバル変数を自由に変更できます)

ケース:

function count() 
{    var counter = 0;        
return function ()     
{return counter += 1;}}
var add= count();add();
add();//值为二

関連推奨事項:

JavaScriptで関数や変数の有無を判定する詳しいコード例

JavaScriptの基礎知識まとめ⑩クロージャ、関数の即時実行

JavaScriptのクロージャ

以上がjsの関数と変数のプロモーションとクロージャの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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