2017-04-02 26 views

回答

7

typeof x返回x类型的字符串表示。自然,typeof typeof x是字符串。

MDN

typeof运算符返回一个指示未计算的操作数的类型。

+2

换句话说...是没有意义的 – charlietfl

+0

@jakeehoffmann所以你说的typeof的typeof x是未计算的操作? –

+0

我不知道你是什么意思,所以没有。在你喜欢的任何东西上使用'typeof'。结果将是一个字符串,它可以读取您放入其中的任何类型。因此'typeof(任何类型的)'相当于'typeof“somestring”'当然是“string”。 – jakeehoffmann

1

检查这个简单的例子,它会清除您的疑问:

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

+0

对象的类型应该是正确的对象,但为什么它的返回字符串...你可以在我的答案中使用我的例子......它令人困惑:( –

+1

'typeof object'将是'object',但typeof“object”'将会'''''''''注意对象周围的'''',这就是区别。当你使用'typeof obeject'时,它会''返回'object'',对象“,这就是为什么它返回字符串:) –

+0

它怎么会进入内部”“,因为我们不给予引号对吗? –

1

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 
+0

但是typeof“object”;应该返回对象吗? –

+1

不,@ texi rv typeof“object”return string –

相关问题