<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>ecma変数</title><revhistory><revision><revnumber>7</revnumber><date>2012-10-07 05:01:39</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>6</revnumber><date>2012-10-07 05:00:57</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>5</revnumber><date>2012-10-05 12:08:48</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>4</revnumber><date>2012-10-05 12:04:53</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>3</revnumber><date>2012-10-05 06:45:57</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>2</revnumber><date>2012-09-08 13:00:39</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>1</revnumber><date>2012-09-08 12:56:39</date><authorinitials>masahiko</authorinitials></revision></revhistory></articleinfo><section><title>ECMAscriptの変数</title><para>ECMA script では変数に型はありません。 </para><para>型はデータが保持しています。 </para><para>変数は var で宣言します。 </para><itemizedlist><listitem override="none"><para><inlinemediaobject><imageobject><imagedata fileref="http://ei-www.hyogo-dai.ac.jp/~masahiko/moin.cgi/ecma%E5%A4%89%E6%95%B0?action=AttachFile&amp;do=get&amp;target=var1.png"/></imageobject><textobject><phrase>var1.png</phrase></textobject></inlinemediaobject> </para></listitem></itemizedlist><para>関数内で宣言するとローカル変数、 それ以外の場所で宣言するとグローバル変数になります。 </para><!--rule (<hr>) is not applicable to DocBook--><section><title>変数と値</title><para>変数は値が入る箱と考えてよい。 </para><para>値としてはどんなものでも入れることができる。 </para><itemizedlist><listitem override="none"><para>number, string, boolean型のデータを代入すると、値が入る。 </para></listitem><listitem override="none"><para>オブジェクトを代入すると、そのオブジェクトへの参照が入る。 </para></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section><section><title>注意</title><para>つぎのようなことも可能ですが、行わないようにしましょう。 </para><section><title>var宣言しないで使う</title><itemizedlist><listitem override="none"><para>var宣言していない変数に代入すると、同じ名前のグローバル変数に代入されます。 </para></listitem><listitem override="none"><para>プログラムミスの原因になりやすい。 </para></listitem></itemizedlist></section><section><title>別の型の値を代入する</title><itemizedlist><listitem override="none"><para>可能ですがプログラムミスの原因になりやすい。 </para><screen><![CDATA[js> a = 1 + 2;
3
js> a = 'kotae';
kotae]]></screen></listitem></itemizedlist></section></section></section></article>