WEBデザインDTPデザイン個人レッスン

イラストレーターの家庭教師で勉強しよう

DTPデザイナーWEBデザイナーココフラッはデザイン制作や個人レッスンをご提供。自由な時間に東京カフェや会社ご自宅でグラフィックソフト、イラストレーターやフォトショップ、ワードプレスやホームページ制作の勉強、マンツーマンの個人指導でスキルアップ。
初回無料体験レッスン! Skypeレッスンは全国対応

  • Photoshop
  • Illustrator
  • Dreamweaver
  • Wordpress
  • Html+css

人気のコンテンツ

ワードプレステーマをカスタマイズの学校
ウェブ作成の指導は女性出張講師
ウェブ作成教室で勉強するならデザイン教室
初心者入門講座の個人レッスンデザイン教室

JavaScript のクロージャとは

クロージャが分かっているようではっきりせずにいたのでまとめておきます。

◾️ クロージャの特徴
外側のローカル変数を関数内に閉じ込めてオブジェクトのように扱うことができます。
クロージャのメリットは、オブジェクトの変数やメソッドを他のプログラムから簡単に変更されないように制御できることです。
入れ子、関数を返す関数でクロージャは役立ちます。

シンプルなクロージャ例

 


var count = 0;
function cu(){
	return ++count		
}

console.log(cu());   // 1
console.log(cu());   // 2

 
グローバル変数countは cu関数によるクロージャに閉じ込められ、プログラムが終わるまで存在し続けます。
 

シンプルな関数

 


function cu(){
        var count = 0;
	return ++count		
}

console.log(cu());   // 1
console.log(cu());   // 1

 
上と似ていますが、ローカル変数countは cu関数内のみで存在
 

関数を返す関数でクロージャ

  


function cFunc() {
function cf() {
	var word = "Hello!";
	
	function say () {
		console.log(word);
	}
	return say;
}

var mf = cf();
mf();             // Hello!

 
関数の外の変数を参照できる
 

カウント機能

  


function count(int) {
	function counter() {
		console.log(++int);
	}
	return counter;
}
							
var c1 = count(0);
c1();	           // 1	
c1();	           // 2			
c1();	           // 3			
c1();	           // 4		
				
var c2 = count(15);
c2();	           // 16	
c2();	           // 17	
c2();	           // 18	

 
変数はクロージャごとに保持されるので、2つのクロージャc1 c2 が生成されて、変数intを個別にカウントアップしています。
 
参考サイト: JavaScriptでクロージャー


 

check!

お問い合わせはこちらからどうぞ
レッスンについてはこちらからどうぞ