var obj = document.getElementsByTagName("a");
    var items = ["click", "mouseover"]; 
    for (var i = 0; i < obj.length; i++) {
        for (var j = 0; j < items.length; j++) {
            (function(){
                obj[i]["on" + items[j]] = function(){
                    alert("Thanks for your " + items[j]);
                };
            })();
        }
    }JS執行不符合預期效果傳回undefined
請教該如何修改此代碼

解决方案 »

  1.   

        var obj = document.getElementsByTagName("a");
        var items = ["click", "mouseover"]; 
        for (var i = 0; i < obj.length; i++) {
            for (var j = 0; j < items.length; j++) {
                (function(v){
                    obj[i]["on" + items[j]] = function(){
                        alert("Thanks for your " + v);
                    };
                })(items[j]);
            }
        }
      

  2.   

        var obj = document.getElementsByTagName("a");
        var items = ["click", "mouseover"]; 
        for (var i = 0; i < obj.length; i++) {
            for (var j = 0; j < items.length; j++) {
                (function(v){
                    obj[i]["on" + items[j]] = function(){
                        alert("Thanks for your " + v);
                    };
                })(items[j]);
            }
        }