bug1357330.js (517B)
1 function byteValue(value) { 2 var isLittleEndian = new Uint8Array(new Uint16Array([1]).buffer)[0] !== 0; 3 var ui8 = new Uint8Array(new Float64Array([value]).buffer); 4 5 var hex = "0123456789ABCDEF"; 6 var s = ""; 7 for (var i = 0; i < 8; ++i) { 8 var v = ui8[isLittleEndian ? 7 - i : i]; 9 s += hex[(v >> 4) & 0xf] + hex[v & 0xf]; 10 } 11 return s; 12 } 13 14 var obj = {}; 15 Object.defineProperty(obj, "prop", {value: NaN}); 16 Object.defineProperty(obj, "prop", {value: -NaN}); 17 assertEq(byteValue(obj.prop), byteValue(NaN));