<input type="text" id="main" />
<script>
var obj = document.getElementById("main");var items = [ "click", "keypress" ];for ( var i = 0; i < items.length; i++ ) {
(function(){
obj[ "on" + items[i] ] = function() {
alert( "Thanks for your " + items[i] );
};
})();
}
</script>
这是我在看精通javascript时看到的,
不过显示出来的是undefined.为什么呢?i的值为2.
(function(item){
obj[ "on" + item ] = function() {
alert( "Thanks for your " + item );
};
})(items[i]);
}
5L说的很明白了,里面那个函数得到的i只是一个i,而不是当i=1时的1等等。
谢谢了。