当我在控制台中运行var name = 'jose' !== '';
时,它会返回"true"
为什么它将"true"
作为字符串返回而不是true
作为布尔值?
我尝试使用不同的变量名称,并返回一个布尔值。
即:var bobby = 'bob' !== '';
答案 0 :(得分:7)
因为name
是window.name
。一个始终为字符串的特殊变量。将其输入任何空浏览器的控制台,您将获得""
。
您在声明中重新分配其价值。
https://developer.mozilla.org/en-US/docs/Web/API/Window/name
答案 1 :(得分:0)
变量name
。它指的是window.name,它是窗口的名称。
也是变量document
window.name,window.document [不能将var名称改为window.name,这是一个字符串]
不要将name用作全局变量。
例如
var name = {Name : "dd"};
console.log(name.Name);//Since it's a primitive won't work