Estoy tratando de entender Javascript octales y hexadecimales cálculos. Sé que puedo usar parseInt(string, radix)
para obtener el valor entero.Conversión de números octales y hexadecimales a la base 10
Por ejemplo, cuando intento por esto que son diferentes de los valores?
var octal = parseInt('026', 8);
var octal1 = parseInt('030', 8);
alert(octal); //22
alert(octal1); //24
var hex = parseInt('0xf5', 16);
var hex1 = parseInt('0xf8', 16);
alert(hex); //245
alert(hex1); //248
Pero si intento guardarlo en una matriz ¿por qué las respuestas son diferentes e incorrectas?
var x = new Array(026, 5, 0xf5, "abc");
var y = new Array(030, 3, 0xf8, "def");
alert('026 is ' + parseInt(x[0],8)); //18
alert('0xf5 is ' + parseInt(x[2],16)); //581
alert('030 is ' + parseInt(y[0],8)); //20
alert('0xf8 is ' + parseInt(y[2],16)); //584
tiene usted razón. La primera parte es innecesaria. 'alert (026)' arrojará '22'. ¿Qué hay de las matrices? – theking963
Tenga en cuenta que 'var foo = new Array (...);' casi nunca es preferible a 'foo var = [...]; 'ya que el primero es más bytes, más lento, y funcionalmente equivalente. – Phrogz