注册 登录
编程论坛 JavaScript论坛

關於函數返回值的問題。

wanghua09 发布于 2009-08-13 18:58, 595 次点击
//作用:執行加載頁面裏的script腳本
//返回script變量,在innerHTML裏加入script變量即可
function js_parser(htm){
   var tag="script>",begin="<"+tag,end="</"+tag,pos=pos_pre=0,result=script="";
    while(
        (pos=htm.indexOf(begin,pos))+1
    ){
       result+=htm.substring(pos_pre,pos);
        pos+=8;
        pos_pre=htm.indexOf(end,pos);
        if(pos_pre<0){
            alert("標簽未閉合");
            break;
        }
        script+=htm.substring(pos,pos_pre);
        pos_pre+=9;
    }
    result+=htm.substring(pos_pre,htm.length);   
    return {
        htm:result,
        js:function(){eval(script)}
    };

請高手指點:
    return {
        htm:result,
        js:function(){eval(script)}
    }; 這一句是什麼意思。
1 回复
#2
weitang2009-08-14 09:41
{}==new Object();

return {
  htm:result,
  js:function(){eval(script)}
};

等价于

var obj = new Object();
obj.htm = result;
obj.js = function(){
  eval(srcipt);
}
reutrn obj;

同样的数组的简写是[]
var arr = new Array() 可以简写成 var arr=[];
1