2010-11-12 9 views
3

J'utilise l'outil très pratique JSLint pour m'assurer que mon javascript est strict.JavaScript: Comment définir un "objet"

J'ai le code suivant qui est marqué par 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]; 
} 

Comment dois-je fixer le code ci-dessus pour le rendre JavaScript « strict » (passer le validateur JSLint)?

Répondre

4

littéralement comme le dit le message, en fait:

var my_obj = {}; 

Ceci définit un objet qui n'a pas de propriétés explicites, ce qui équivaut à ce que vous faisiez, mais mieux du point de vue de JSLint. ( Je crois que c'est parce qu'il n'invoque pas explicitement un constructeur, mais pour être honnête, je ne sais pas vraiment Edit: selon la section 11.1.5 de ECMAScript spec, c'est tout à fait l'équivalent de new Object(), je suppose que c'est cool parce que c'est plus court et moins sujettes à des fautes de frappe.)

1

juste faire

var my_obj = {}; 

{} est javascript notation pour créer un littéral d'objet.

Questions connexes