word = prompt("合言葉は? ", "秘密!");
alert("合言葉は「" + word + "」です。");
if( confirm("よろしいですか?") )
close();
プロパティ名 | 機能 |
---|---|
status | ブラウザのステータスバーに表示する文字列 |
opener | このウィンドを開いたウィンドウ |
name | ウィンドウの名前 |
closed | ウィンドウが閉じているときに真(true), 開いているときには偽(false) |
window | このウィンドウへの参照 |
メソッド名 | 機能 |
---|---|
alert(message) | 警告ダイアログを開く |
confirm(question) | 確認ダイアログを開く. true/falseを返す |
prompt(message,default) | 入力のためのダイアログを開く.messageをダイアログに表示し, 入力を待つ.defaultは入力を省略した場合の戻り値 |
open() | 新しくウィンドウを開く |
forcus() | このウィンドウをアクティブにする |
blur() | このウィンドウを背面に移動する |
close() | このウィンドウを閉じる |
moveBy(x,y) | ウィンドウを指定したピクセル分移動する |
moveTo(x,y) | ウィンドウを移動する |
resizeBy(width,height) | ウィンドウサイズを指定したピクセル分広げる |
resizeTo(width,height) | ウィンドウサイズを変更する |
scrollBy(x,y) | 指定したピクセル分だけスクロールする |
scrollTo(x,y) | 指定した位置までスクロールする |
setInterval(code, interval) | codeを一定間隔の時間(interval)でくり返し実行する |
setTimeout(code, delay) | delay時間後にcodeを実行する |
clearInterval() | setIntervalで指定したくり返し実行を解除する |
clearTimeout() | setTimeoutで設定したコードの実行を解除する |
alertメソッドを用いれば変数の値などを表示することができるので, デバッグに利用することができる.
[例題]
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=Shift-JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>ex1-2</title> </head> <body> <script type="text/javascript"> (a) 変数宣言などの準備 (b) 現在の日時を取得する (c) 「秒」をもとに文字サイズを決める (d) 日時を書き出す </script> </body> </html>
var now = new Date(); // 現在の日時を変数 now に記憶
var size = now.getSeconds() % 7 + 1;
<Hn>yy年mm月dd日 hh時mm分ss秒</Hn>と書き出す.ただし,nはサイズ.
document.write("<h",size,">", // サイズ now.getFullYear(),"年", now.getMonth()+1,"月", now.getDate(),"日", now.getHours(),"時", now.getMinutes(),"分", now.getSeconds(),"秒", "</h",size,">");
alert文を利用した,デバッグの方法を説明する.
次の内容の HTMLファイルを作成したとする.
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=Shit-JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>ex1-2</title> </head> <body> <script type="text/javascript"> var now = new Date(); var size = now.getSeconds() % 7 + 1; documentwrite("<h",size,">", now.getFullYear(),"年", now.getMonth(),"月", now.getDate(),"日" now.getHours(),"時", now.getMinutes(),"分", now.getSeconds(),"秒", "</h",size,">"); </script> </body> </html>上のページをブラウザに表示しようとしても正しく実行されない.
以下,原因を追求し,正しく動作させるまでのデバッグの過程を例示する.
これから, コメントアウトした箇所以外は正しく実行されることがわかる.
now.getDate(),"日"にあることがわかる.
"日" → "日",と修正する.
now.getMonth() → now.getMonth()+1
var mynumber = Math.floor(Math.random()*10);
Math.random()
Math.floor(x)
// 関数: 現在の時刻を文字列で返す function getTime() { var time, date; date = new Date(); // 現在の日時を取得 // 時、分、秒を文字列に変換し連結 time = date.getHours().toString() + "時" + date.getMinutes().toString() + "分" + date.getSeconds().toString() + "秒"; return time; }
time = date.getHours().toString() + "時"
getTime().fontsize(i),
getTime().fontsize(i).fontcolor("red"),
以下の処理を行う Web ページを JavaScript を使用して作成しなさい.
作成する Webページは指定された名前のファイルに保存し,ブラウザにより, 正常に動作することを確認すること.
eval("3+4+2") → 9のように,数式の計算値を得ることができる.
関数 | 機能 |
---|---|
eval(st) | stを評価した値を戻り値として返す |
promptダイアログを使用して計算式を入力すると, 入力式は,定数ではないので,文字列として受け取られてしまう. 上で述べた eval を利用すると文字列として受け取った計算式を 計算(評価)することができる.
promptダイアログを使用して,計算式を受け取り, それを評価した結果を表示するページをファイル ex2-1.html に作成せよ.
ダイアログボックスより,生年月日を受け取り,
今日がその誕生日から数えて何日目であるかを表示するページを作成せよ.
作成するファイル名は, ex2-2.html とする.
[ヒント] Dateクラスの持つ getTime メソッドを使用する.