リスを倒す 『初めてのPHP,MySQL,JavaScript&CSS』

『初めてのPHP,MySQL,JavaScript&CSS』勉強奮闘記

14-3. Javascriptの式と制御フロー③PHPにないもの

暇だしな、と鼻くそほじほじしてたら、意外とあって慌てています。
そして頼りないのか、いろんな人からお願いしますよ。。。しっかりやってね。とプレッシャーをかけてもらったこともあり(ありがたい)、迷惑をかけたくないということもあり、しっかり作ろうと思いました。
これも自分のためになると思う。。

てのはおいといて、リスやりまーす。


1-1. withステートメント


withステートメントは、PHPにはないJavascript特有の機能です。withを使用すると、ある種のJavascriptステートメントを同じオブジェクトへの複数回の参照を1回に減らすことで簡素化できます。
withブロックでのプロパティやメソッドへの参照はそのプロパティやメソッドを持つオブジェクトに適用されます。

以下コードを見てみます。


<script>
string = "The quick brown fox jumps over the lazy dog"

with (string)
{
document.write("The string is " + length + " characters
")
document.write("In upper case it's: " + toUpperCase())
}
</script>

document.write関数は変数stringを名前で参照していない(プロパティやメソッドの前にstring.をつけていない)のですが
以下の結果が得られます。
f:id:taro-blog2323:20161123110558p:plain


1-2. onerrorの使用


onerrorイベントを使用するスクリプトも、javascript特有の機能です。tryとcatchキーワードの組み合わせか、onerrorイベントを使用すると、Javascriptのエラーをキャッチし、それを自分で処理することができます。
イベントは、Javascriotによって検出されるアクションです。
webページ上の要素はどれも、javascript関数を呼び出すことのできる特定のイベントを持ちます。


以下コードは、一部文字が不足しています。


<script>
onerror = errorHandler
document.writ("Welcome to this website") // Deliberate error

function errorHandler(message, url, line)
{
out = "Sorry, an error was encountered.\n\n";
out += "Error: " + message + "\n";
out += "URL: " + url + "\n";
out += "Line: " + line + "\n\n";
out += "Click OK to continue.\n\n";
alert(out);
return true;
}
</script>

結果はこちら。
f:id:taro-blog2323:20161123112942p:plain

document writではなく、document writeが正しいのでエラーを記述しています。
このようにonerrorを使用するとデバックに役立ちます。


今日はいじょー
もー坂内欲がすごい。