フォームとの連動 JavaとJavaスクリプト目次 Javaスクリプトの制御文

Javaスクリプトの式、演算子

変数

変数名は、文字(A-Z,a-z)または下線("_")で始まり、後に数字(0-9)や文字が 続く名前でなければなりません。変数名は、変数の意味に関係した名前を付け て下さい。以下に有効な変数名例を示します。

変数は、値や式を与えることによって、宣言されます。

	
	
	Number_One = 1
	var temp111 = 'one'
	var _name = location.href + ''
	
	
変数には、グローバル変数とローカル変数があり、値の前にvarを付け て宣言する場合は関数の中でローカルに使用する場合です。

	
	
	function test() {
	   flag = true
	
	   document.write(flag + " ")  // true
	   test1()                     // false
	   document.write(flag + " ")  // true (test1 test1 はローカル変数である)
	
	   test2()                     // false
	   document.write(flag + " ")  // false
	}
	
	function test1() {
	   var flag = false // ローカル変数 (この関数の中だけ flag が falseになる)
	   document.write(flag + " ")
	}
	
	function test2() {
	   flag = false // グローバル変数で flag が変わる。
	   document.write(flag + " ")
	}
	
	
test()と実行すると、

true false true false false

データ型

データ型は次のとおりです。
整数
10進数、16進数、8進数のフォーマットがあり、16進数は0xまたは0Xで始まります。

10進数8進数16進数
000x0
2020x2
7501000x40
8301230x53
841015110x349

浮動小数点数
浮動小数点数は、10進整数、小数点、10進整数で表されます。もう1つの表記方法に、e、E を付けて、10の冪乗で表されます。

  • 3.141592
  • -3.1E12
  • .1e12
  • 3E-12

論理値
2つの値truefalseがあります。

文字列
文字列は、二重引用符(")や引用符(')で囲まれた文字列です。

  • "bluh"
  • 'bluh'
  • "1234"
  • "one line \n another line"

特殊文字(エスケープシーケンス) 次の特殊文字があります。

特殊文字意 味
\継続行
\n改行
\bバックスペース
\f改ページ(フォームフィード)
\r復帰(キャッリジリターン)
\t水平タブ
\\バックスラッシュ
\'引用符
\"二重引用符

それぞれのデータタイプの変換は下表のルールがあります。

データタイプ交換されたデータタイプ
関 数オブジェクト数 字論理値文字列
関数functionerrorerrordecompile
オブジェクト
ヌルオブジェクト
error
funcobj OK
error
0
true
false
toString
"null"
数字(0でない)
エラー(NaN)
+infinity
-infinity
errorNumber
null
Number
Number
Number
true
false
false
true
true
toString
"0"
"NaN"
"+Infinity"
"-Infinity"
論理値: false
    true
errorBoolean0
1
"false"
"true"
文字列(non-null)
ヌル文字列
funstr OK
error
Stringnumstr OK
error
true
false

式と演算子

式は二項演算子、単項演算子を基本とし、二項演算子は+、-、*、/、モジュロ演算子%が用いられます。単項演算子としては- があり、またビット処理演算用に以下の演算子を持ちます。

演算子意 味
&ビットごとのAND
|ビットごとのOR
^ビットごとの排他的OR
<<左シフト
>>右シフト
>>>0を埋めて右へシフト

式は、以下のように省略可能です。

省略形
x = x + yx += y
x = x * yx *= y
x = x / yx /= y
x = x % yx %= y
x = x << yx <<= y
x = x >> yx >>= y
x = x >>> yx >>>= y
x = x & yx &= y
x = x ^ yx ^= y
x = x | yx |= y

また、CやC++と同じようにインクレメント(++)とデクレメント(--)の演算子も用意されています。関係演算子と論理演算子は>、>=、<、<=、==、!=、!、&&、||があり、これらはC、C++言語と同じ仕様です。以下がそれぞれの演算子の優先順位で、上あるいは左から高い順に並んでいます。

	
	
	.    []    ()
	++   --    !     ~
	*    /     %
	+    -
	<<   >>    >>>
	<    >     <=    >=
	==   !=
	&
	
	^
	|
	&&
	
	||
	?:
	=  +=  -=  *=  /=  %=  <<=  >>=  >>>=  &=  ^=  |=
	'
	
	

文字列の演算

文字列を加えた(+演算子)場合、文字列が連結されます。たとえば、
	
	
	"hello " + "world!"
	
	
の結果は、
	
	
	"hello world!"
	
	
こうなります。変数yokに"comp"という文字列が入っている場合は、
	
	
	yok += "uter"
	
	
この変数yokには"computer"という文字列が代入されます。



Copyright (C) 1996-2003 by Yasukazu Yokoi. All Rights Reserved.