JavaScriptでのクロージャーのテスト
WHATWGでHTML5仕様がLast Callになった。徐々にではあるが、Web Application が普及する環境が整いつつある。(どうもW3Cは聞いていなかったらしく、ちょっと揉めそうな感じみたいだが。)
さて、以前もここで書いたとおりHTML5はそれまでの文書の構造化に加え、振る舞いの要素の追加が行われており、スクリプト言語のインターフェースも規定されている。このスクリプト言語は仕様の上では指定されているわけではないが、事実上JavaScriptだろう。ということでそろそろちゃんとJavaScriptを書けるようにならなきゃいかんのかなぁ。ということで、まずはクロージャーからやってみた。
<html lang="ja">
<head>
<title>Closure Test</title>
<meta http-equiv="Content-Type" content="text/plain;charset=UTF-8">
</head>
<body onload="onLoad()">
<script type="text/javascript">
var countUp;
function makefunc()
{
var x=0;
return function(){return x++;};
}
function onLoad()
{
countUp = makefunc();
window.setInterval(onTimer, 100);
}
function onTimer()
{
document.getElementById('count').innerHTML = countUp();
}
</script>
<div id="count"></div>
</body>
</html>
このコードは、100ms毎にカウントアップして表示するもの。makefuncがカウントアップする関数オブジェクトを作り、onloadハンドラでグローバル変数countupに保存しておく。それを100ms毎に呼び出している。実行すると下のようになる。
Categories
programming0 TrackBacks
Listed below are links to blogs that reference this entry: JavaScriptでのクロージャーのテスト.
TrackBack URL for this entry: http://www.argv.org/~chome/blog/mt-tb.cgi/89
