我是新来js
,努力学习js
,你们可以告诉我为什么typeof typeof x
回报string
,提供了下面的代码片段,如果我明白这个简单的概念,它将有助于我更多:的typeof typeof运算X retruns串并没有反对,因为空的类型为对象
var x=null;
console.log(typeof typeof x);
我是新来js
,努力学习js
,你们可以告诉我为什么typeof typeof x
回报string
,提供了下面的代码片段,如果我明白这个简单的概念,它将有助于我更多:的typeof typeof运算X retruns串并没有反对,因为空的类型为对象
var x=null;
console.log(typeof typeof x);
检查这个简单的例子,它会清除您的疑问:
var a = null;
console.log(typeof a, typeof a === 'object')
var b = function(){};
console.log(typeof b, typeof b === 'function')
var c = "";
console.log(typeof c, typeof c === 'string')
原因:typeof
返回一个字符串,您提供的值的类型,当你检查typeof
返回的值,它将以字符串形式显示,如:
'object', 'function', 'string' etc.
而你正在检查typeof "object"
,这就是为什么它返回string
。
对象的类型应该是正确的对象,但为什么它的返回字符串...你可以在我的答案中使用我的例子......它令人困惑:( –
'typeof object'将是'object',但typeof“object”'将会'''''''''注意对象周围的'''',这就是区别。当你使用'typeof obeject'时,它会''返回'object'',对象“,这就是为什么它返回字符串:) –
它怎么会进入内部”“,因为我们不给予引号对吗? –
typeof运算符,用于查找JavaScript变量的数据类型 //自JavaScript JavaScript开始以来,使用`typeof运算的typeof variable`
var x=null;
var x=(typeof x);
it returns "object";
var y=typeof "object";
it returns string
so
console.log(typeof typeof x);
show string
但是typeof“object”;应该返回对象吗? –
不,@ texi rv typeof“object”return string –
换句话说...是没有意义的 – charlietfl
@jakeehoffmann所以你说的typeof的typeof x是未计算的操作? –
我不知道你是什么意思,所以没有。在你喜欢的任何东西上使用'typeof'。结果将是一个字符串,它可以读取您放入其中的任何类型。因此'typeof(任何类型的)'相当于'typeof“somestring”'当然是“string”。 – jakeehoffmann