为什么 var name = 'jose' !== ''; return "true" 不对?
Why does var name = 'jose' !== ''; return "true" and not true?
当我 运行 var name = 'jose' !== '';
在我的控制台中时,它 returns "true"
为什么 return "true"
作为字符串而不是 true
作为布尔值?
我用不同的变量名试过,它 return 是一个布尔值。
即:var bobby = 'bob' !== '';
因为name
是window.name
。始终为字符串的特殊变量。在任何空浏览器的控制台中输入它,您将得到 ""
.
您正在您的语句中重新分配它的值。
https://developer.mozilla.org/en-US/docs/Web/API/Window/name
变量name
。它引用window.name,这是window的名称。
也可变document
window.name ,window.document [can't change var name from being window.name, which is a string]
不要将名称用作全局变量。
例如
var name = {Name : "dd"};
console.log(name.Name);//Since it's a primitive won't work
当我 运行 var name = 'jose' !== '';
在我的控制台中时,它 returns "true"
为什么 return "true"
作为字符串而不是 true
作为布尔值?
我用不同的变量名试过,它 return 是一个布尔值。
即:var bobby = 'bob' !== '';
因为name
是window.name
。始终为字符串的特殊变量。在任何空浏览器的控制台中输入它,您将得到 ""
.
您正在您的语句中重新分配它的值。
https://developer.mozilla.org/en-US/docs/Web/API/Window/name
变量name
。它引用window.name,这是window的名称。
也可变document
window.name ,window.document [can't change var name from being window.name, which is a string]
不要将名称用作全局变量。
例如
var name = {Name : "dd"};
console.log(name.Name);//Since it's a primitive won't work