Javascript eval(0047) returns 39
Javascript eval(0047) returns 39
为什么 eval(0047) 返回值 39?(047 和 00047 产生相同的结果)
为什么 eval(056) 返回值 46?
但。。。eval(0048) 返回值 48,正如预期的那样!
这显然与前导零有关,但我无法弄清楚,任何帮助将不胜感激。
你不需要
eval
,你只需要一个以 0
开头的整数文字,其中没有数字大于 7,JS 可以看到你正在表达一个八进制文字值。例如:
console.log(011) // 9
同样,对于十六进制:
console.log(0xcd) // 205
另请参阅 MDN 上的整数部分。
它是八进制,以 8 为基数。4 是"8"的地方,而不是"10"的地方。
4 * 8 = 32 + 7 = 39。
相关文章:
- parseInt("08") returns 0
- JavaScript returns [object Object]
- Javascript imageData returns array of 0's
- HTML Javascript getElementById for <img> image returns
- $('#select').val() returns UNDEFINED
- Flickr api returns data fail() jquery
- Javascript Timer returns NaN
- node-mysql connection.query() returns undefined
- Firefox-SDK contentScript returns null
- Angular $q.defer() returns Object{then: function}
- document.getElementById(#mapid) returns null
- JavaScript getElementById returns null
- Phonegap: Camera.getPicture only returns NATIVE_URI
- Javascript returns [object HTMLSpanElement]
- Javascript eval(0047) returns 39
- localStorageService.set returns "isUndefined is not def
- jQuery $("body").height() returns undefined
- Meteor cursor.fetch().property returns "undefined"
- C# DateTime to Javascript parse returns
- moment .toJSON returns "0NaN-NaN-NaNTNaN:NaN:NaN.NaNZ&q