2010-11-12 93 views
3

我使用非常方便JSLint工具來確保我的JavaScript是嚴格的。JavaScript:如何定義「對象」

我已經正在由JSLint的標記下面的代碼:

var my_obj = new Object(); // <-- JSLint states "Use the object literal notation {}." 
var numKP = 1; 

while (query.indexOf('&') > -1) { 
    keypairs[numKP] = query.substring(0,query.indexOf('&')); 
    query = query.substring((query.indexOf('&')) + 1); 
    numKP++; 
} 

keypairs[numKP] = query; 

for (i in keypairs) { 
    my_obj[keypairs] = keypairs[i]; 
} 

我應該如何解決上面的代碼,使其JavaScript的「嚴」(通過JSLint的驗證)?

回答

4

字面上有消息稱,其實:

var my_obj = {}; 

這個定義沒有明確的屬性的對象,這相當於你在做什麼,但是從JSLint的的角度更好。 (我相信這是因爲它沒有明確調用構造函數,但說實話我並不知道編輯:根據ECMAScript spec 11.1.5節,它完全等價於new Object()。我猜這很酷,因爲它更短並且不易發生輸入錯誤。)

1

只是做

var my_obj = {}; 

{}是JavaScript的符號創建一個對象文字。