スポンサーリンク

JavaScriptの動かないコード (初級編) with文にまつわるエラー


以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分)


やりたい事:

  • 「はい」ボタンと「いいえ」ボタンの押下を区別して応答する。
  • ボタンのトータルの押下回数も表示する。
<input type="button" value="はい"   onClick="f(1)">
<input type="button" value="いいえ" onClick="f(0)">

<script language="JavaScript">

function f( num )  // 引数が 1 :「はい」,0 :「いいえ」
{
	with( obj )
	{
		// 押されたのは「はい」ボタンか?
		if( num == 1 ) // f(1) の場合
		{
			yes();
		}
		else
		{
			no();
		}
	}
}


// 応答をするオブジェクト
var obj = {
	// ボタンを押したトータルの回数を記録・表示する。
	num:1,
	yes:function(){alert( this.num + "回目:はい"   ); this.num++; },
	no:function(){alert( this.num + "回目:いいえ" ); this.num++; }
};

</script>
続きを読む