Javascript入門⑤
ドットインストールの「Javascript入門」の学習メモです。 http://dotinstall.com/lessons/basic_javascript_v2
- 本日は以下を学習しました。
- #13 ローカル変数を使おう
- #14 即時関数を使ってみよう
ローカル変数を使おう
以下のように関数の中で定義した変数は、関数の外では使えない。
例だと、結果は、greetはコンソールに正常出力されるが、msgはundefinedでエラーとなる。function hello(name){
var msg="hello "+ name; //ローカル変数
return msg;
}
var greet=hello("Tom");
console.log(greet);
console.log(msg);関数もデータ型であるので、変数に入れることが可能。
この時、関数名を以下のように省略する事が可能(無名関数と言う。)var hello = function hello(name){
var msg="hello "+ name; //ローカル変数
return msg;
}var hello = function(name){
var msg="hello "+ name; //ローカル変数
return msg;
}
即時関数を使ってみよう
関数定義後に即呼び出したい場合の記法。 例)通常ならこう書く所・・・
短縮する事が可能。function hello(name){ console.log("hello"); } hello("Tom");
(function hello(name){ console.log("hello"); })("Tom");
ローカル変数として外からのアクセス拒否し、安全性を保つ意味でも使われる。
このままだとx,yは好きにアクセス出来てしまうので、以下のように変更(x,yへのアクセス不可)。var x=10;
y=20; console.log(x+y);(function (){
var x=10;
y=20;
console.log(x+y);
})();