2012-04-27 20 views
6

according to MDN, quando si utilizza l'operatore unario:Comportamento di JS operatore unario più applicato su una stringa che rappresenta un esagono negativo

Interi sia in decimale ed esadecimale ("0x" -prefixed) formati sono supportati . I numeri negativi sono supportati (sebbene non per l'esadecimale). Se il parametro non è in grado di analizzare un valore particolare, verrà valutato su NaN.

Ma quando ho eseguito questo test Jasmine (il matcher toBe() applica un operatore di ===):

it("should return NaN when trying to convert a string representing a NEGATIVE HEX to the corresponding number", function() { 
    var a = '-0xFF';   
    expect(typeof +a).toBe('number'); 
    expect(isNaN(+a)).toBeTruthy(); //Fails on Chrome and Opera... 
    }); 

Non riesce a Chrome e Opera (e passa in IE, Safari e Firefox).

È un difetto nei motori Chrome e Opera o mi manca qualcosa?

risposta

2

Potrebbe - o potrebbe non essere visto come un difetto, a seconda di come è collegato alle specifiche.)

Ho trovato un interesting discussion per quanto riguarda questo comportamento. Sembra che Firefox sia stato per una volta nel campo "meglio delle specifiche", ma poi lo ha risolto in base alle specifiche.

Problemi correlati