My Photo

« 城ヶ島でエギング、結果ボウズ | Main | 城ヶ島エギング&エサ釣り »

October 14, 2012

JavaScriptメモ001:変数のスコープ、リテラル

変数のスコープ

関数内でvarを付けて変数を宣言した場合、その変数のスコープは関数内となる。
varなしで宣言した場合、グローバル変数となる。
関数内ではない場所ではvarのあるなしにかかわらずグローバル変数となる。

a = 1;	// グローバル変数
var b = 2;	// グローバル変数

function testFunc01() {
	var c = 3;	// ローカル変数(関数内のみ有効)
	d = 4;	// グローバル変数
}

リテラル

// 数値
var i = 5;
var f1 = -1.2;
var f2 = 4.83e-2;

// 文字列
var str1 = "'まどマギ'とは'魔法少女まどかマギカ'のことです。";
var str2 = '"タイバニ"とは"Tiger & Bunny"のことです。';

// 配列
var array1 = [1, 2, 3];

// 連想配列
var array2 = {"新潟" : "アルビレックス", "山形" : "モンテディオ", "仙台" : "ベガルタ"};
for (var key in array2) {
    alert(key + ":" + array2[key]);	// key にはキーが入る
}

// オブジェクト(連想配列と同じ。下記解説参照)
var obj = {name:"softbank", section:1, code:"9984};

// RegExp
var re1 = /ABC/;
var re2 = /abc/i;
var re3 = /\d{4}-\d{2}/g;
var re4 = /^start/m;

連想配列とオブジェクトのリテラルの記述は同じだが、そもそもJavascriptに連想配列というものはないそうだ。 オブジェクトを連想配列として使う場合に便宜的に「連想配列」と呼んでいるだけらしい。

正規表現のリテラルで末尾についているi,g,mはフラグでそれぞれ以下のような意味。

フラグ 意味
i ignore case。大文字小文字を区別しない。
g global。複数箇所でマッチする。例えば置換の場合はマッチした場所すべてで置換が行われる。
m multiline。複数行にまたがってマッチさせる。

参考ページ:第4回 JavaScriptでオブジェクト指向プログラミング - @IT

« 城ヶ島でエギング、結果ボウズ | Main | 城ヶ島エギング&エサ釣り »

JavaScript」カテゴリの記事

プログラミング、技術情報」カテゴリの記事

Comments

Post a comment

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/26461/55888496

Listed below are links to weblogs that reference JavaScriptメモ001:変数のスコープ、リテラル:

« 城ヶ島でエギング、結果ボウズ | Main | 城ヶ島エギング&エサ釣り »

May 2017
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof