Ho un codice HTML che contiene una stringa JSON. Nella sul DOM pronto richiamata, ho qualcosa di simile:Come posso evitare che l'avviso 'Proprietà MyProp1 non sia mai stata definita su MyObject'?
MyObject = JSON.parse($('#TheJsonString').html());
Più tardi nel mio codice, scrivo qualcosa questo:
var SomeVar = MyObject.MyProp1;
E poi quando ho eseguito il codice attraverso la chiusura di Google compiler, ricevo l'avviso
Proprietà MyProp1 non definita su MyObject.
Come deve essere scritto il codice in modo che non generi un avviso?
Ok grazie, ora funziona! Nel complesso, è "meglio" utilizzare la notazione con notazione a virgola o tra parentesi o è solo una questione di stile/preferenza? Inoltre, ho intenzione di utilizzare il compilatore google e quindi reobfuscare il codice compilato in jscrambler. So che questo non impedirà il reverse engineering ma sto solo cercando di guadagnare tempo. Doppio lavoro di offuscamento? – frenchie
@frenchie Generalmente, la notazione parentesi/punto è una questione di preferenza. Tuttavia, nel compilatore Closure, è necessario utilizzare la notazione delle parentesi per conservare i nomi. Tuttavia, la notazione a punti viene utilizzata nell'output compilato. E sì, la doppia offuscazione renderà sicuramente più difficile l'ingegneria inversa. Assicurati di testare le prestazioni del codice prima/dopo l'offuscamento. –