Ese código exacto nunca arrojará nada que no sea
false
, por lo que no tiene sentido, como se ha introducido. Supongo que esto se representa como salida y que, dependiendo de alguna variable del servidor, a veces puede ser algo diferente.
Viendo como se utiliza window.XMLHttpRequest
, me di cuenta de que también podría ser algún tipo de comprobación pobres navegador. [1,]
crea una matriz, pero la coma final hará que la matriz se trate de manera diferente en Chrome e Internet Explorer. Chrome reconocerá esto como una matriz de un solo número, que se podría convertir implícitamente en un número, mientras que IE lo considerará como una matriz que contiene dos elementos, que no se pueden convertir a un número.
-[1,0]
dará NaN
en todos los navegadores. -[1]
dará -1
en todos los navegadores. Por lo tanto, -[1,]
dará NaN
en IE (y por lo tanto ejecutará el código), y -1
en otros navegadores (y no ejecutará el código).
Este es un truco terrible. No lo uses
Si desea saber si window.XMLHttpRequest
funcionará, pruébelo específicamente, y no por otra cosa.
De hecho, ['document.execCommand (" BackgroundImageCache ", falso, verdadero)'] (https://encrypted.google.com/search?q=BackgroundImageCache) parece usarse ampliamente como un hack de compatibilidad de IE. – apsillers
Para mí, '! - [1,]' produce 'false' en cromo pero' verdadero' incluso en IE9. –
@DavidHedlund Supongo que tiene algún modo de compatibilidad o renderiza la página en modo peculiar. IE9 tiene una buena compatibilidad con Ecmascript y debería (y lo hace para mí) devolver el mismo resultado que Chrome. – duri