��ϥӥ�˼꺢��������ä��Τǡ�
���졢�¤ϡ�Java��ȯ�ԤΤ����Ajax������ȯ�����פǤ�Ҳ𤵤�Ƥ��������
for ʸ��̵̾�ؿ��Υ��ǥ����� - IT�ïµï¿½È¤ï¿½ï¿½ï¿½ï¿½ï¤±ï¿½Ç¡ï¿½ï¿½ï¿½ï¿½ï¿½ò¤¹¤Ù¤Æ²ï¿½è¤¹ï¿½ï¿½Î¤ï¿½for (var i = 0, len = list.length; i < len; i++) (function(node, i) { var text = node.textContent; node.onclick = function() { alert(text) }; })(list[i], i)�ʤΤ���
����������������˻Ĥ��줿���꤬�Ĥ롣
��ʬ�Ǥ⸡�ڤ��Ƥߤ���
���졢�ǥե���ȤǤ�100����ˤ��Ƥ��뤱�ɡ�IE�Ǽ¹Ԥ�����ϰ�徯�ʤ�10�����侩��
Scopeless
var result = 0; for (var i = 0; i < n; i++){ result = i; }
Closure as a block
var result = 0; for (var i = 0; i < n; i++) (function(a){ result = a; })(i);
with()
var result = 0; for (var i = 0; i < n; i++) { with({a:i}) { result = a; } }
�ɤΥ֥饦�����Ǽ¹Ԥ��Ƥ⡢function()
���ʤ�����®���Τ����ɡ�IE�ξ�硢�Фä��㤦�ۤ��٤��ʤäƤ��ޤ���
�ǡ��������פ��Ƥߤ롣
Closure as a block, predefined
var result = 0; for (var i = 0, block = function(a){ result = a }; i < n; i++) block(i);
Closure as an iterator
var result = 0; (function(block){ for (var i = 0; i < n; i++) block(i); })(function(a){ result = a });
������ξ����ܰʾ��®�ˤϤʤä���IE���Ȥ���Ǥ�ޤ������Ǥ��ʤ��ۤ��٤����ɡ�
�ȤϤ�����amachang����Ǥϥ������פϤɤ����Ƥ�ɬ�פˤʤ롣
�ʾ��դޤ���ȡ�
for (var i = 0, len = list.length; i < len; i++) (function(node, i) { var text = node.textContent; node.onclick = function() { alert(text) }; })(list[i], i)
��
var block = function(node){ var text = node.textContent; node.onclick = function() { alert(text) }; }; for (var i = 0, len = list.length; i < len; i++) block(list[i]);
�Ƚ񤯤Τ������ǤΥ٥��ȥץ饯�ƥ������Ȼפ�졣�̤θ������򤹤�ȡ��ʤ�٤��롼�פ���Ǥ�closure���������ʤ������褤��
Dan the JavaScripter
���Υ֥����˥����Ȥ���ˤ�����������ɬ�פǤ���
��������������
���ε����ˤϵ��ĥ桼�����������Ȥ��Ǥ��ޤ���