将变量打印到控制台时出现意外的字符串:[object Window]

时间:2013-10-20 00:33:33

标签: javascript

我正在尝试在控制台上将文本打印为二进制值,但结果是“[object Window]”。

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

2 个答案:

答案 0 :(得分:2)

与JS中的大多数事情一样,toString是特定对象的方法,而不是全局函数。 See this MDN page, with examples

所以你想要:

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

您的代码中发生的事情是,某个对象调用toString并找到“根对象”(window)是liooking。因此,您的代码转换为:

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

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

console.log(window.toString());

答案 1 :(得分:1)

toString是一个方法,而不是一个函数。由于javascript中的调用函数从window对象调用它们,因此得到[object Window]

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

会将数字转换为二进制数。

前:

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