JavaScriptの事 |
|
JavaScriptについて、いろいろ語るページです。 |
|
JavaScript 談義 サイトホーム 履歴転進 |
この様な事をさせる呪文がJavaScriptです。パソコンは大丈夫ですか?
希〜に、止まるかも知れません。こんな講座あるか!
あそこ↑には「FOR文」を書いており、指定の文言を指定回数だけ勝手に並べます。ここでは100回です。
またとか、時々見かけます。
この様な小手先のイタズラに成り下がっています。
便利なハズなんですが、みんなマジメに勉強しないし、ホムペもアプリで作って、その「ついで機能」で JavaScript いじってるだけだし…
(一応、画像でも繰り返し表示出来ると言うデモンストレーション)
まず、呪文の書き方は決まっています。呪文て… (>_< ;
<script language="javascript"> <!-- (呪文を書く所) //--> </script>(呪文を書く所)にスクリプト(命令)を書けば、それで出来上がりです。
<body>〜</body>に書く場合は、こうします。これは単なるHTMLの記述のお助け記述です。
だから一回二回の書き込みならば、その都度「手」で書く方が早いのです。
しかし例の様な「うんち」百回とか(メンドくさすぎる!)「最終更新」など(ど忘れ常習)、機械に勝手にやってもらう方が合理的なのです。
あと仮に何らかのクダラナイ(または聞こえの良い)言葉を素〜で百回も並べたら「スパム」ですよ。
なおJavaScriptと言っていますが、ここで扱うのはJScriptかも知れません。
ま、似たよなモンですが。
<script language="javascript"> <!-- for( var i = 0; i < 100; i++ )// 例えば「うんち百回」なら、これだけです { document.write('うんち'); }// 「<!--」「//-->」は、タダのまじないです //--> </script>
例えば左の図なんか、触ったり突ついたりしますと姿が変わります。
一般のHTMLタグ(ここでは<img>タグ)にも埋め込めるのです。
始動の引金として onmouseover, onclick, onmouseout が使われています。
<img align="left" src="絵のURL.gif"
onmouseover="this.src='怒り絵のURL.gif'"
onclick="this.src='投げ絵のURL.gif'"
onmouseout="this.src='元絵のURL.gif'"
class="sml" alt="">
実際によく見かける、「仕掛けだと判るモノ」は「関数」として<head>〜</head>(ヘッダ)に記述されているのが普通です。
大きな特徴として、オフライン(回線切断状態)でもプログラムが作動する点にあります。仕掛けは知らぬ内に全部ダウンロードしているのです。
【追加】
むかし作られた「ウザいページ」と呼ばれるモノですわ。 →ウザいページ
何と言うか、ちょっとアレですわね。「にちゃん」などに晒されておりましたものですから。
たいていは「部品」を組み合わせた「関数」をヘッダに置いてさり気なく動かすのがクールというものです。あまり重いと嫌われます。
アプリに作らせると、ワラワラと本人も判らない「関数名」になったりするので、自分のページの仕掛けぐらい自分でなさいましょう。
unchi( )なんて関数名も可能ですわ。
「関数」の事
必ず function と宣言します。直後に関数名を記述、なぜかカッコが付きます。
→「 function unchi( ) 」(unchi( )は架空の関数名)
んで、大カッコ { 〜 } で括った範囲が関数の領域です。
function unchi( )←関数宣言
{
(関数の部品を置く所・中身)
}
関数を使う時は、あの関数名(ここでは「unchi( )」)を呼べば良いのです。時々あの最後のカッコの中に「引数(ひきすう)」という名のネタ(素材)が入ります。 「変数」の事
JavaScript の変数は「数値」と「文字列」の区別すら無くシロート受けしそうですが、肝心な時にエラる原因にもなり兼ねません。
「数値」とは、1 + 1 = 2 となるモノです。
「文字列」では、1 + 1 = 11 です。計算をせず、並べるだけです。
また JavaScript では「変数宣言」無しでも、ときどきそのまま実行します。
関数の外で何やら unchi = 0; とかしてるのが宣言です。
関数の中で var unchi = 0; と言うのもあります。その関数内だけの変数です。
【 if (いふ)文】
「もし〜ならば」という、典型的な部品。プログラムのほとんどはこれです。
if(zeni == 0)←条件提示 { morau( );←条件が合致した場合、呼び出す関数 zeni = zeni + morota;←条件が合致した場合の作業 } // zeni, morota, morau( ) は、いずれも任意の架空変数(関数)名JavaScript には、いわゆる「GOTO文」等の強制分岐命令はありません。
if(hus <= 50)←基本条件 { if(nb == 1)←誰が迎えるか { if(ry)←使者は誰か? { ss = ' 良いけど、まだ居たの?'; seihi = 1; } else { ss = ' しょうがないわねぇ。'; seihi = 1; } } else if(nb == 2) { if(ry) { ss = ' ま!いらっしゃい。泊まってかない?'; seihi = 1; } else { ss = ' まぁ、良いでしょう。'; seihi = 1; } } else{ ss = ' 仲良くしましょう。'; seihi = 1; } } if(((nb == 1)&&(kuniban == 2))||((nb == 2)&&(kuniban == 1))) { hus = husinkan[0]; } 訳: nb が1で kuniban が2であるか、nb が2で kuniban が1である場合は hus へ配列 husinkan[0] の値を代入せよいずれも実際にゲーム内で使っている「if文」サンプルです。
【 for (ふぉ〜)文】
他の言語でもよく見かける繰り返し命令です。
for(var i = 0; i < 100; i++)←iが0から99まで(100回)繰り返す { nani = nani + 'うんち';←繰り返す事 } // nani は任意の架空変数名・中に「うんち」が100個溜まるi < 100 が「99まで」という点に注意(「以下」ではなく「未満」)。
【 while (ほわいる)文】
for 文に似ています。
while(i < 100)←iが0から99まで(100回)繰り返す { nani = nani + 'うんち';←繰り返す事 i++;←iの値を1増やす(一行程) } // nani は任意の架空変数名・中に「うんち」が100個溜まる記述が少ないのがかえって味気ないからか、作者はあまり使いません。
【swich (すいっち)文】
作者は全く使いません。if 文で事足りるからです。
swich(un)やる気ないので旧版のコピペ { case "うんち" : itiiti(); break;←breakを忘れると暴走 case "うんこ" : kangaennno(); break; case "ウンチ" : tukareruto(); break; defalt: bai();←条件が引っ掛からなかった場合の命令 } // 引数名・変数名・関数名は、見りゃあ判ろうが、架空 // case, defalt, break は必要要素であるif文の方が、幅広く展開させやすいから避けています。
【一定時間毎に関数を呼び出す】
「時計」の様な機械を作るのに重宝。
td = setTimeout('unchi( )',1000);関数unchi( )を1000ミリ秒後に1回呼ぶ clearTimeout(td);呼び出し命令を解除する // td は任意の架空変数名時間は必ずミリ秒指定です。マシンにもよりますが、50以下では変わらんでしょう。
【正規表現】
一応は、これも関数内の部品になる事も…
if(pass.match(/[^ヒフミヨイムナヤコト]/))←if文で判断してるな…
{ alert('文字が不正ですー。'); return; }
// pass は任意の(略)
「ヒフミヨイムナヤコト」以外の文字が含まれていたらダメ!というモノです。「関数」内部の部品は、あらかたこんな感じです。これらを組み合わせて任意の機械を作るというだけの事です。そういうゲーム、あったでしょ昔?
配列・Array
複数のデータの格納方法です。それらは任意に個別に処理出来ます。
番号札を付けた人が並んでて、番号で任意に呼び出す様なモノです。
otomo = new Array('ima','ohb','nag','eba');←otomo は配列変数 // otomo = new Array();←個別に指定する書き方 otomo[0] = 'ima'; otomo[1] = 'ohb'; otomo[2] = 'nag'; otomo[3] = 'eba';変数otomoの中に「'ima','ohb','nag'」というデータが入ってますが、番号札も付いています。指定が無ければゼロから始まります。
スクリプトに熱を入れ過ぎて膨大な記述量になった、ページをまたがって使いたい、などの悩みを解決する策として「外部ファイル」があります。
その名の通り、スクリプトを別ファイルにして参照しつつ使う方法です。
その時は、ガワ部分は書かず、中身スクリプトだけを記述します。それを「unchi.js」の様な名前にして任意の場所に置くだけです。
参照はヘッダに
<script language="javascript" src="unchi.js"></script>の様にするだけで、そこにスクリプトがある様な振舞いをします。
JavaScriptでは、変数名・関数名などは任意に付けられますが、一部「予約語」というモノがあって、それらと同じ名前は付けられません。
ところがどっこい!!
↓↓↓
「名無しさん」から貴重なご指摘を承りました。↑BBSからコピペ編集
当方、環境が変わってしまって JavaScript を弄る機会がめっきり減ってしまいまして、そういう情報から離れておりました故の不手際でした。
まァ双方を参照しながら作業すれば鉄板でしょうし、変数名などそれこそ unchi とかで問題ない訳ですから。