2012-06-12 79 views
3

這裏是我的代碼:JavaScript對象總是空

myExt = {}; 
myExt.Panel = function (config){ 
    var d = document.createElement("div"); 
    /*Do something (a lot) with config and d here 
    // a lot of code here 
    */ 
    return 
    { 
     div:d, 
     events:e, 
     customattribs:ca 
    }; 
} 

這裏是我的來電顯示:

var p = new myExt.Panel({ 
    id:'parent', 
    events:{ 
     onload:function(){ 
      alert("onload"); 
     } 
    }, 
    //more configs 
}); 

,如果我做

console.log(p) 

我得到空。請幫我調試問題。

回答

8

Automatic semicolon insertion已經從原來的函數的返回值:

return { div: d, events: 3, customattribs:ca }; 

到:

return; 

這將是更好,如果你保存你想在一個變量返回的值,然後返回該對象:

var ret; 
ret = { 
    div: d, 
    events: e, 
    customattribs: ca 
}; 
return ret; 
+0

dang ......多麼神祕! – riship89

+0

@ hrishikeshp19,我強烈推薦閱讀道格拉斯克羅克福德曾經寫過關於JavaScript的所有內容,並觀看[他的演講](http://yuiblog.com/crockford/)。 – zzzzBov

+0

或者更好,並且不太自以爲是,通過http://jsHint.com運行代碼。它會爲你捕捉到這個錯誤。 – 2012-06-13 00:07:50