Javascript返回奇怪的价值

Set*_*hen 3 javascript

我正在测试一个函数,看看当它的参数是什么时会发生什么,null并决定用它做一个else语句.令我惊讶的是,它没有记录我通过的参数,它完全记录了其他内容.也许有人可以对此有所了解,这是代码:

function testing(o) {
    if (!o) {
        return "Sorry, looks like you need to pass an argument.."
    } else {
        return o;
    }
}

console.log(testing(02034));
//logs 1052
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

Jay*_*Jay 8

在Javascript中,与其他语言一样,以0开头的数字表示它的基数为8(八进制).

因此,02034在基数8 = 1052的基数10(十进制)中.

  • 这是我们使用的计数系统,如果我们任意有8个手指而不是10个:) (3认同)