javascript - 函数传递参数

标签 javascript

<分区>

这是一个小的 JavaScript。我从函数中得到了意想不到的结果。 020*2 给出 32 而不是 40。有人知道如何解决这个问题吗?

function myFunction(a, b) {
  return a * b;
}

document.write('04 * 03 = ');
document.write(myFunction(04, 03)); //Result 12, correct
document.write('  <<  Correct <br/>020 * 02 = ');
document.write(myFunction(020, 02)); //Result 32, wrong - expected result 40
document.write('  <<  Expected 40 here');

最佳答案

  • 020 八进制 => 16 十进制
  • 02 八进制 => 2 十进制

16 * 2 = 32。


例子

将八进制值转换为 8 进制(八进制)字符串,然后以 10 进制(十进制)解析它。

var x = 020;                                                  // 16 (octal)
var y = 02;                                                   // 2  (octal)

document.body.innerHTML = x + ' x ' + y + ' = ' + x * y;      // 32

document.body.innerHTML += '<br />';                          // {Separator}

var x2 = parseInt(x.toString(8), 10);                         // 20 (decimal)
var y2 = parseInt(y.toString(8), 10);                         // 2  (decimal)

document.body.innerHTML += x2 + ' x ' + y2 + ' = ' + x2 * y2; // 40

关于javascript - 函数传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29434409/

相关文章:

javascript - 使用变量 id 更改元素的文本

javascript - 语法错误代码笔全 View

javascript - Protractor-根据条件识别嵌套下拉元素时超时

javascript - 用instanceof检测数据类型

javascript - 如何轻松地为 ActionCable 发送 DOM 元素?

javascript - 缩放 D3 Hexbin map 示例以适合 div

javascript - typescript 错误 TS1005 : ';' expected

javascript - 将一个单词拆分为一个 div,每个字母又拥有自己的 div

javascript - 共享工具提示的 Highcharts 工具提示格式

javascript - 获得一年中的几周