2秒ごとにポップアップで「こんにちは、ようこそ」というテキストを警告するタイマー機能があります。また、10秒でポップアップを停止するようにタイマー間隔をクリアする機能があります。
clearInterval関数行を次のように使用すると、表示されるポップアップボックスが停止します
setTimeout(function() {clearInterval(x); },10000);
しかし、settimeout関数を次のように使用すると、ポップアップボックスの表示が停止しません
setTimeout("clearInterval(x);",10000);
ただし、組み込み関数を次のように直接定義することにより、 settimeout 関数を使用してポップアップを表示する場合 setTimeout("alert('hello, welcome');",2000); // works properly
上記の 2 行で settimeout 関数の動作が異なる理由を説明してください。以下の私のコードを見つけてください。
<html>
<head>
<script type='text/javascript' >
function testclear()
{
var x = setInterval("alert('hello, welcome');",2000);
setTimeout(function() { clearInterval(x); },10000);
// setTimeout("clearInterval(x);",10000);
}
</script>
</head>
<body>
<input id='txt' onchange='testclear()' />
</body>
</html>