変数のスコープ

| | コメント(0) | トラックバック(0)
関数の引数についての注意点は、変数がどの範囲で使えるかという問題と同じ。変数が使える範囲のことを「変数のスコープ」という。


変数は、宣言された場所、初めて使われた場所によって、どの範囲で使えるかが決まる。

・関数内
・それ以外


<script type="text/javascript">
<!--
     var Today="2008/9/15"; 
-----------------------関数外での宣言
     function PrintBirthday() {
        var myBirthday="1965/7/6";
----------------関数内での宣言
        document.write(Today);
}
document.write(myBirthday);
//-->
</script>


関数の内部で宣言された変数は、その関数でしか使うことができない。そのため外部から関数内部
で宣言された変数を呼び出しても、定義されない。もしくは予期せぬ値を参照する。

それ以外の場所(<script>~</script>)で宣言された変数は、どこからでも参照することができる。

<script type="text/javascript">
<!--
     var Today="2008/9/15";
     function PrintBirthday() {
        var myBirthday="1965/7/6";
        document.write(Today);
-----関数外で定義された変数Todayは参照可能
}
document.write(myBirthday);
-----関数内で定義された変数myBirthdayは参照できない
//-->
</script>


であるので、さまざまな関数内で共通で使いたい変数(たとえば日付などを格納)などは、
関数外で宣言しておく。

また逆に、関数内でしか使わない変数は、関数の中で宣言しておき、他に干渉しないようにする。



トラックバック(0)

このブログ記事を参照しているブログ一覧: 変数のスコープ

このブログ記事に対するトラックバックURL: http://www.omdclabs.net/mt/mt-tb.cgi/34

コメントする

このブログ記事について

このページは、管理者が2008年9月16日 03:21に書いたブログ記事です。

ひとつ前のブログ記事は「関数の実行」です。

次のブログ記事は「オブジェクト」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。