Sto leggendo la differenza tra & ed && sulla guida di javascript ma non riesco a capire l'esempio che propone l'autore della guida. In pratica non riesco a capire perché l'esempio con una & sola non funge.

PARTE DELLA DISPENSA:

codice:
if ( (document.all) && (navigator.platform.indexOf("Win")>-1) ) {
alert ("Stai usando Internet Explorer su Windows");
} else {
alert ("Stai usando Internet Explorer su Mac");
}
/* L'oggetto navigator.platform contiene le indicazioni sul
sistema operativo che l'utente sta usando. Nel caso di
Windows: alert(navigator.platform); restituisce "Win32"
indexOf serve per cercare del testo in una stringa: se
non lo trova restituisce "-1", ecco perché abbiamo chiesto
di verificare che il risultato di indexOf sia maggiore
di -1. In pratica così facendo abbiamo chiesto di verificare
che navigator.platform contenga "Win".
*/
Utilizzando l'operatore a livello di bit invece il risultato dello script non è corretto:
if ( (document.all) & (navigator.platform.indexOf("Win")!=-1) ) {
alert ("Stai usando Internet Explorer su Windows");
} else {
alert ("Stai usando Internet Explorer su Mac");
}
Grazie come sempre e grazie per la lettura che mi avete consigliato, sto capendo meglio molte parti...