←Prev.Top / Web / Diary→Next

重箱の隅をつついてみよう

やっぱりフォロー

 JavaScriptって、ブラウザ開発会社で、わりと勝手にやっていることで、SUNは基本的にノータッチなのね。
 こりゃ、完全に言語形式が似てるってだけと思っていいようです。道理でブラウザ毎の統一感が、ちゃんちゃらない訳だ。
 でも一応Javaの練習にはなるみたいですね。


今回の目的は

 今回は、本になかなか載っていないJavaScriptの細かい仕様をチェックしてみよう。実はどの本にもバリバリに載ってたりして。
 そもそもNetscape社とかの提供している言語仕様のファイルを見れば判るんじゃないかって気もするが、英語はちょっとね(笑)
 でもまぁ、こういうことをやっておくと、言語が手に馴染むと言いますか、いい感じになるので、色々チェックしてみましょう。


論理演算の結果は

 さて、論理演算によって、どのような結果が得られるかと言うのは、気になるところなので、一通りチェックしてみようと思う。

論理演算内容演算結果

 なるほど、trueとfalseが返ってくる訳か、0と1や、0と-1とかじゃない訳ね。
 残念ながら、数値演算の中に組み込んで使う訳にはいかないようだ。
 それじゃ直接trueとfalseを使って色々やってみるとどうなるんでしょ。

論理演算内容演算結果

 HyperTalkと同じような感じだな。
 本を見てみると、1と0がtrueとfalseの代わりに使えるらしい。
 他の数字はどのように判定されるのだろうか?

論理演算内容演算結果

 1はtrueでそれ以外は全部falseみたいだな。
 一応forループを使って、ずらーっとチェックしてみる。



 うむ、確かに1だけがtrueになってる訳だな。


forの中身は

 普通forは、

for(変数=初期値;変数<最終値;変数++)

てな感じに設定する訳だけど、C言語では

for(最初に実行する命令;ここがtrueの間実行;ループ毎にやる命令)

という、結構アバウトな仕様になっていて、色々と面白いことができる。
 JavaScriptではどうなっているのだろう。試しに以下のようなスクリプトを組んでみた。
 内容は、最初に「はじめーっ」と表示し、1/20の確率で終了し、毎回usu()という関数を呼び出すもの。

スクリプト

for(document.write("はじめーっ");Math.round(Math.random()*20)!=1;usu()){}

実行結果


 すべて問題なくできてしまうようですな。つまりはC言語と同じように使っていいということか。
 これは便利なので、読者のみなさんも、便利に使いましょう(ってみんな知ってたりして)

 今日はここまで。


[01.22.1998]
←Prev.Top / Web / Diary→Next