let
�̎g�����@Firefox 2 �� JavaScript (JavaScript 1.7) �̐V�@�\�̈�ł��� let
���g���ƁA�N���[�W���[�����Ƃ��ɂ��肪���Ȃ܂ǂ���������R�[�h���Ȍ��ɏ������Ƃ��ł��܂��B
�@Firefox 2 �ł� JavaScript 1.7 ���g����悤�ɂȂ�܂����B generator�A iterator�A destructuring assignment ([a, b] = f();
�� {first: a, second: b} = g();
�Ƃ����`�̑��) �Ȃǂ̋@�\�������Ă��܂��B
�@JavaScript 1.7 �̐V�@�\�̈�� let
�ł��B����������Ėl�͊������Ȃ�܂����B�����A�p�����������ƂɁA���܂ł��� let
�̋@�\���ق����Ǝv�������Ƃ͉��x���������̂ɁA�ڂ̑O�ɂ��邱�ƂɋC�t���Ă��܂���ł����B JavaScript 1.7 �̐V�@�\�� Firefox 2 �������[�X���ꂽ�Ƃ��ɖڂ�ʂ������肾�����̂ł����A�܂������ƌ��Ă��Ȃ������̂ł��傤�B let
������ƁA����܂ŏ����ɂ��������R�[�h���ȒP�ɏ�����悤�ɂȂ�ǖʂ�����܂��B
�@�����ŏЉ��͍̂������g����n�E�c�[�ł͂���܂���B�����_�ł͂��̍\�����g����E�F�u�u���E�U�[�� Firefox 2 ���炢�����Ȃ��̂ŁA��ʓI�ȃE�F�u�y�[�W�Ŏg���̂͂����߂��܂���B�������Ɏg����̂́A Firefox 2 ��ΏۂƂ��� Firefox �g���@�\��A�N���C�A���g�� Firefox 2 �ł���悤�ȃC���g���l�b�g���ł̃A�v���P�[�V�����������Ă���l�����ł��B
�@�����A�v���O�����������l�ɁA�������v���O�������������ɂ͗����Ȃ��Ă��A�u���������\��������Ƃ���ȕ��ɖ��ɗ��̂��B�Ӂ[��v�Ǝv���Ă��炦����������ȂƁB
let
�̂Ȃ����E�@�l�͈ȑO���̂悤�ȃv���O�����������āA���܂����삹���������o��������܂��B
�v���O���� 1 (���s��)
1 var list = document.getElementById("list"); 2 var i; 3 for (i = 1; i <= 5; i++) 4 { 5 var item = document.createElement("LI"); 6 item.appendChild(document.createTextNode("Item " + i)); 7 item.onclick = function (ev) { 8 alert("Item " + i + " is clicked."); 9 }; 10 list.appendChild(item); 11 }
�@������ list �Ƃ����̂� HTML �������� UL �v�f�ɕt����ꂽ ID ���Ƃ��܂��B�v���O�����͗Ⴆ�� BODY �v�f�� onload ����Ă�Ă���ƍl���Ă��������B�ȉ��̃v���O�����ł����l�ł��B
�@���̃R�[�h�����s����ƁA Item 1 ���� Item 5 �܂� 5 �̍��ڂ������X�g���\������܂����A�ǂ���N���b�N���Ă��uItem 6 is clicked.�v�ƕ\������Ă��܂��܂��B
�@�������̒��ŎQ�Ƃ��Ă��� i
�͓��R�R�[�h 2 �s�ڂŐ錾����Ă��� i
�ł��B���� i
�̒l�͍ŏ� undefined
�ŁA���̌� 1, 2, 3, 4, 5, 6 �ƕς���Ă����܂��B�������� 5 �������A for
���[�v�����Ƃ��ɂ� i
�̒l�� 6 �ɂȂ��Ă��܂��B���̂��߁A���X�g���ڂ��N���b�N����ƁuItem 6 is clicked.�v�ƕ\�������̂ł��B�������̒��ŎQ�Ƃ��Ă���ϐ��ɑ��āA�j��I��� (JavaScript �ł̑���͓��R���ׂĔj��I����ł�) ���s������A�\�������悤�ɓ��삵�Ȃ��̂ł��B
�@�v���O���������̂悤�ɕς��Ă����͉������܂���B
�v���O���� 2 (���s��)
1 var list = document.getElementById("list"); 2 var i; 3 for (i = 1; i <= 5; i++) 4 { 5 var item = document.createElement("LI"); 6 item.appendChild(document.createTextNode("Item " + i)); 7 var j = i; 8 item.onclick = function (ev) { 9 alert("Item " + j + " is clicked."); 10 }; 11 list.appendChild(item); 12 }
�@7 �s�ڂŐ錾���ꂽ�ϐ� j
�̃X�R�[�v�� 12 �s�ڂŏI���܂����A�ׂɃ��[�v����邽�тɐV�����ϐ��������킯�ł͂Ȃ��̂ŁA�ǂ̃��X�g���ڂ��N���b�N���Ă��������ʂɂȂ邱�Ƃɕς��͂���܂��� (���̃v���O�����ł͂ǂ�ł��uItem 5 is clicked.�v�ƕ\������܂�)�B
�@���̖�����������ɂ́A����������邽�тɕʂ̕ϐ���p�ӂ��Ă��K�v������܂��B Firefox 1.5.x �ȑO�� JavaScript (ECMAScript ����d�l�� 3 �ŁA JavaScript 1.6) �ł́A�V�����ϐ���p�ӂ��邽�߂ɂ͊��Ăяo��������K�v������܂��� (6 �� 6 ���NjL: ����͊ԈႢ�ł����B with
�����g���Ă������ł��܂�)�B�Ȃ̂ŁA���������v���O�����ɂ���K�v������܂����B
�v���O���� 3 (���s��)
1 function createHandler(j) 2 { 3 return function (ev) { 4 alert("Item " + j + " is clicked."); 5 }; 6 } 7 8 var list = document.getElementById("list"); 9 var i; 10 for (i = 1; i <= 5; i++) 11 { 12 var item = document.createElement("LI"); 13 item.appendChild(document.createTextNode("Item " + i)); 14 item.onclick = createHandler(i); 15 list.appendChild(item); 16 }
�@createHandler �������ɂ��Ă��悢�̂ŁA���̂悤�ɂ������܂����A�����m��Ȃ��l�ɂ͉����������킩��Ȃ��v���O�����ɂȂ��Ă���ł��傤�ˁB
�v���O���� 4 (���s��)
1 var list = document.getElementById("list"); 2 var i; 3 for (i = 1; i <= 5; i++) 4 { 5 var item = document.createElement("LI"); 6 item.appendChild(document.createTextNode("Item " + i)); 7 item.onclick = function (j) { 8 return function (ev) { 9 alert("Item " + j + " is clicked."); 10 }; 11 } (i); 12 list.appendChild(item); 13 }
�@����ɁA�� j
�Ə����Ă���ϐ��ɂ������� i
�Ƃ͕ʂ̖��O���g�����R���Ȃ��̂ŗ����Ƃ� i
�Ə����ƁA�܂��܂��~�X�e���A�X�ɂȂ�܂��B�ׂɂ킴�Ƃ킩��ɂ������Ă���̂ł͂Ȃ��̂ł����B
let
�̈З��@Firefox 2 (JavaScript 1.7) �ŐV���ɓ������ꂽ let
���́A���̂悤�ȍ\���Ŏg���܂��B
let (�q�ϐ����r = �q���r [, �q�ϐ����r = �q���r [, �c]]) �q���r
�@���̕������s����ƁA�V���ɋǏ��ϐ������A �q���r ��]�����Č��ʂ������A���̋Ǐ��ϐ��� �q�ϐ����r �̖��O�ŎQ�Ƃł����Ԃ� �q���r �����s���܂��B�Ȃ��A�O���œ������O�̕ϐ��������Ă����W�ɂȂ�܂��B
�@���̍\�����g���ƁA��̃v���O�����͎��̂悤�ɊȌ��ɏ����܂��B
�v���O���� 5 (���s��)
1 var list = document.getElementById("list"); 2 var i; 3 for (i = 1; i <= 5; i++) 4 { 5 var item = document.createElement("LI"); 6 item.appendChild(document.createTextNode("Item " + i)); 7 let (j = i) 8 { 9 item.onclick = function (ev) { 10 alert("Item " + j + " is clicked."); 11 }; 12 } 13 list.appendChild(item); 14 }
�@����͂����ł��ˁB�Ȃ��A JavaScript 1.7 �̐V�@�\���g���ɂ́A SCRIPT �v�f�Ȃǂ� type �������uapplication/javascript;version=1.7�v�Ƃ���K�v������܂��B
�@�Ȃ��A for
�����[�v������A j = i
�̂悤�Ȉꌩ���ʂɌ���������h���ň�̕ϐ��������g���ē������Ƃ���������͕̂s�\���Ǝv���܂��B
let
���� let
��`�@JavaScript 1.7 �ł� let
���ȊO�ɂ� let
���� let
��`�Ƃ����V�����\�����p�ӂ���Ă��܂��B�ǂ���V�����Ǐ��ϐ�����邽�߂̍\���ł��B�����͏�ł������N���� Mozilla Developer Center ���Q�Ƃ��Ă����������Ƃɂ��āA��̃v���O������ let
���� let
��`���g���Ă�������̂ŁA���̃T���v�����������Ă����܂��B
�@let
�����g���Ǝ��̂悤�ɂȂ�܂��B
�v���O���� 6 (���s��)
1 var list = document.getElementById("list"); 2 var i; 3 for (i = 1; i <= 5; i++) 4 { 5 var item = document.createElement("LI"); 6 item.appendChild(document.createTextNode("Item " + i)); 7 item.onclick = let (j = i) function (ev) { 8 alert("Item " + j + " is clicked."); 9 }; 10 list.appendChild(item); 11 }
�@let
��`���g���Ɖ��̂悤�ɂȂ�܂��B�v���O���� 2 �ƌ���ׂ�� var
�� 1 �� let
�ɏ��������������łقƂ�Ǔ����ł����A������̃v���O�����ł͕ϐ� j
�����[�v����邽�тɐV��������邱�Ƃɒ��ӂ��Ă��������B
�v���O���� 7 (���s��)
1 var list = document.getElementById("list"); 2 var i; 3 for (i = 1; i <= 5; i++) 4 { 5 var item = document.createElement("LI"); 6 item.appendChild(document.createTextNode("Item " + i)); 7 let j = i; 8 item.onclick = function (ev) { 9 alert("Item " + j + " is clicked."); 10 }; 11 list.appendChild(item); 12 }
�@nanto_vi ����̃u���O�uDays on the Moon�v�̋L���uJavaScript �Ńu���b�N�X�R�[�v�����������v�� let
�\�����ڂ����������Ă��܂��B let
�ł��������ł��Ȃ� with
�����g�����@������Ƃ������Ƃ�m��܂����B�����uDays on the Moon�v�́uJavaScript 1.7 �̐V�@�\�v�������߂ł��B