为什么var name =' jose' !=='&#39 ;;返回" true"而不是真的?

时间:2016-05-11 02:06:08

标签: javascript string boolean comparison

当我在控制台中运行var name = 'jose' !== '';时,它会返回"true"

为什么它将"true"作为字符串返回而不是true作为布尔值?

我尝试使用不同的变量名称,并返回一个布尔值。 即:var bobby = 'bob' !== '';

2 个答案:

答案 0 :(得分:7)

因为namewindow.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