function displayAbbreviations(){
var abbreviations = document.getElementsByTagName("abbr");
if(abbreviations.length < 1) return false;
var defs = new Array();
for(var i=0; i<abbreviations.length; i++){
var current_abbr = abbreviations[i];
var definition = current_abbr.getAttribute("title");
var key = current_abbr.lastChild.nodeValue;
defs[key] = definition;
}
var dlist = document.createElement("dl");
for(key in defs){                            //这个for in 是什么含义?
var definition = defs[key];          //这段代码是什么含义,上面不是定义了吗?是覆盖上面的吗?
var dtitle = document.createElement("dt");
var dtitle_text = document.createTextNode(key);
dtitle.appendChild(dtitle_text);
var ddesc = document.createElement("dd");
var ddesc_text = document.createTextNode(definition);
ddesc.appendChild(ddesc_text);
dlist.appendChild(dtitle);
dlist.appendChild(ddesc);
}
var header = document.createElement("h2");
var header_text = document.createTextNode("Abbreviations");
header.appendChild(header_text);
document.body.appendChild(header);
document.body.appendChild(dlist);
}
addLoadEvent(displayAbbreviations);

解决方案 »

  1.   

    function displayAbbreviations(){
        var abbreviations = document.getElementsByTagName("abbr");//获取对象列表
        if(abbreviations.length < 1) return false;//不存在就返回
        var defs = new Array();//生成一个数组对象
        for(var i=0; i<abbreviations.length; i++){
            var current_abbr = abbreviations[i];//此处代码上看有点多余,但是却可以隐式的减少循环查询,但是会加内存开销
            var definition = current_abbr.getAttribute("title");//对象标题属性
            var key = current_abbr.lastChild.nodeValue;//最后一个子集中节点值
            defs[key] = definition;//数组存储
        }
        var dlist = document.createElement("dl");//穿件一个DL标签
        for(key in defs){                            //这个for in 是什么含义?  (循环)
            var definition = defs[key];          //这段代码是什么含义,上面不是定义了吗?是覆盖上面的吗?(上面声明的是局部变量,出了循环就没了此处相同。注:此方法会大量消耗内存空间,在IE某个版本下还可能造成内存泄露。)
            var dtitle = document.createElement("dt");//穿件一个DT标签
            var dtitle_text = document.createTextNode(key);//创建文本
            dtitle.appendChild(dtitle_text);//添加DT对象到DT
            var ddesc = document.createElement("dd");//添加DD标签
            var ddesc_text = document.createTextNode(definition);//文本
            ddesc.appendChild(ddesc_text);//添加DD
            dlist.appendChild(dtitle);//添加一个DT到DL组
            dlist.appendChild(ddesc);//添加一个DD到DL组
        }
        var header = document.createElement("h2");//H2标签   下面不解释了
        var header_text = document.createTextNode("Abbreviations");
        header.appendChild(header_text);
        document.body.appendChild(header);
        document.body.appendChild(dlist);
    }
    addLoadEvent(displayAbbreviations);
      

  2.   

    var o = {a:'aaa', b: 'bbb', c:22};
    for (var key in o) {
         alert(key + ":" + o[key]);看看这个就知道了
    }