Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:为什么typeof()将布尔值作为字符串返回?_Javascript_Boolean - Fatal编程技术网

Javascript:为什么typeof()将布尔值作为字符串返回?

Javascript:为什么typeof()将布尔值作为字符串返回?,javascript,boolean,Javascript,Boolean,也许你会觉得这个问题很傻。但我有一个快速的 这几天我在学习JavaScript: 并试图理解下面的代码 var name=true; console.log(typeof(name))typeof运算符将以字符串格式为我们提供变量的数据类型。 例如: var a=false; console.log(类型a) //结果:“布尔” var b={}; console.log(类型b) //结果:“对象” var name=true; console.log(名称类型) //结果:“string

也许你会觉得这个问题很傻。但我有一个快速的

这几天我在学习JavaScript:

并试图理解下面的代码

var name=true;

console.log(typeof(name))typeof运算符将以字符串格式为我们提供变量的数据类型。 例如:

var a=false;
console.log(类型a)
//结果:“布尔”
var b={};
console.log(类型b)
//结果:“对象”
var name=true;
console.log(名称类型)

//结果:“string”
typeof运算符将以字符串格式为我们提供变量的数据类型。 例如:

var a=false;
console.log(类型a)
//结果:“布尔”
var b={};
console.log(类型b)
//结果:“对象”
var name=true;
console.log(名称类型)

//结果:“string”
因为
window.name
-查找它-使用几乎任何其他变量名称进行检查,例如name。。。name是speshulrename,请为变量命名并检查一次。这是因为名称空间尝试一些非泛型的东西:
var a=true;console.log(typeof(a))
。为什么初学者以明显的名字开头?将“我的”添加到变量名可以修复所有问题。需要明确的是:在浏览器中,
name
是一个预定义的全局变量,它可以将分配给它的任何值转换为字符串。在谈到编程语言时,“Reserved(word)”是一个非常具体的意思,而
name
不是保留的。它在JavaScript中没有任何意义。因为
window.name
-查找它-使用几乎任何其他变量名称进行检查,例如name。。。name是speshulrename,请为变量命名并检查一次。这是因为名称空间尝试一些非泛型的东西:
var a=true;console.log(typeof(a))
。为什么初学者以明显的名字开头?将“我的”添加到变量名可以修复所有问题。需要明确的是:在浏览器中,
name
是一个预定义的全局变量,它可以将分配给它的任何值转换为字符串。在谈到编程语言时,“Reserved(word)”是一个非常具体的意思,而
name
不是保留的。它在JavaScript中没有任何意义。这并没有回答为什么传递看起来像布尔值的输出“字符串”的问题,我想这是对的。。。正如@JaromandaX所说,它的特殊变量可能是什么?最好不要使用它/@TusharNiras不是一个特殊的变量或保留字,它是的一个特殊属性,在浏览器中和全局对象同义。其他类型的主机不一定有这样的限制,它不是ECMAScript的一部分。这并不能回答为什么传递看起来像布尔值的输出“字符串”的问题,我想这是对的。。。正如@JaromandaX所说,它的特殊变量可能是什么?最好不要使用它/@TusharNiras不是一个特殊的变量或保留字,它是的一个特殊属性,在浏览器中和全局对象同义。其他类型的主机不一定有这样的限制,它不是ECMAScript的一部分。