Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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”之后调用“toLowerCase()”?_Javascript - Fatal编程技术网

Javascript 是否有必要在每个“typeof”之后调用“toLowerCase()”?

Javascript 是否有必要在每个“typeof”之后调用“toLowerCase()”?,javascript,Javascript,我遇到了以下一段Javascript代码: if ((typeof callback).toLowerCase() === 'function') 是否需要在每个typeof之后调用toLowerCase()?还是仅仅是杂乱无章?不,不,不,不 在大多数情况下,typeof解析为一组已知的所有小写值。您不必使用.toLowerCase() .toLowerCase()用于将字符串中的所有字符都设置为小写 另一方面,typeof返回操作数的值。由typeof返回的所有字符串总是小写。然而,typ

我遇到了以下一段Javascript代码:

if ((typeof callback).toLowerCase() === 'function')

是否需要在每个
typeof
之后调用
toLowerCase()
?还是仅仅是杂乱无章?

不,不,不,不


在大多数情况下,
typeof
解析为一组已知的所有小写值。

您不必使用
.toLowerCase()

.toLowerCase()
用于将字符串中的所有字符都设置为小写


另一方面,
typeof
返回操作数的值。

typeof
返回的所有字符串总是小写。然而,
typeof
不是很准确。相反,我建议您使用
Object.prototype.toString
,原因如下:


上述
typeOf
函数是对
typeOf
运算符的修复。它总是返回传递给它的值的正确类型。例如
typeOf([])
返回
“数组”
,而
typeOf[]
返回
“对象”
。你可以在
typeOf
函数中使用
toLowerCase

阅读可能的类型表(全部较低)@bfavaretto:不仅是幽默感,而且他们可能不知道答案限制:-)你的答案没有任何解释。
typeof
运算符以小写字符串的形式返回操作数的类型。因此,您不需要对其调用
toLowerCase
。@Aadit M Shah:“操作数的类型为小写字符串”--如果有人对specification@zerkms你愿意做这些荣誉吗?为了准备考试,我整天都在阅读我的大学课本,现在我真的不想读JavaScript规范。@zerkms规范中的所有类型字符串都是小写:但是它让实现决定主机对象的类型,这可能是肯定的大写实现。然而,在我看来,大多数实现都是明智的,可以将其保持在较低的大小写。
function typeOf(value) {
    if (value === null) return "Null";
    if (typeof value === "undefined") return "Undefined";
    return Object.prototype.toString.call(value).slice(8, -1);
}