Ho questo nel mio javascript:Come faccio a verificare i valori non definiti in IE8?
console.log(filters);
console.log('----');
console.log(filters.max_price);
In Chrome, mostra questo. Questo è il comportamento previsto.
Object {max_price: undefined, sort_by: undefined, distance: undefined, start: undefined, num: undefined}
----
undefined
in IE8, il registro mostra questo:
LOG: Object Object
----
LOG: String
Perché IE8 pensano che sia una stringa? Devo sapere se è indefinito.
Ho un sacco di codice che imposta valori predefiniti.
if(typeof filters.max_price == undefined){ //I use this technique a lot!
filter.max_price = 2000;
}
Come è possibile verificare la presenza di undefine-ds in IE8? Dovrei farlo? Questo sembra funzionare (yay ...), ma sembra a buon mercato e hacky.
if(!filters.max_price || typeof filters.max_price == 'undefined'){
C'è un modo semplice che posso fare questo con sottolineatura?
Intendi "non definito" come in "dichiarato ma non definito" o "non definito" come in "non dichiarato né definito"; due cose diverse ... – elclanrs
http://stackoverflow.com/questions/690251/what-happened-to-console-log-in-ie8 – jurgemaister
@jurgemaister lo so ... ma questo non ha nulla a che fare con la domanda – TIMEX