将变量打印到控制台时出现意外字符串:[对象窗口]

Unexpected string when printing variable to console: [object Window]

本文关键字:字符串 对象 窗口 意外 打印 变量 控制台      更新时间:2023-09-26

我正在尝试在控制台上将文本打印为二进制值,但结果是"[对象窗口]"。

console.log(toString(number, 2));

像 JS 中的大多数东西一样,toString 是特定对象上的方法,而不是全局函数。请参阅此 MDN 页面,其中包含示例。

所以你想要:

console.log(number.toString(2));

代码中发生的事情是,它正在为某些对象调用toString,并找到"根对象",这是window。所以你的代码翻译为:

console.log(window.toString(number, 2));

由于window.toString不接受任何参数,因此它们被忽略,这意味着它就像运行以下命令一样:

console.log(window.toString());

toString 是一个方法,而不是一个函数。由于在 javascript 中调用函数从窗口对象调用它们,因此您可以获得 [对象窗口]

console.log(number.toString(2));

将数字转换为二进制。

前任:

var num = 15;
console.log(num.toString(2));
> num = 1111;