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

时间:2013-12-05 01:57:24

标签: javascript

我遇到了以下Javascript代码:

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

在每次toLowerCase()之后调用typeof?还是只是杂乱无章?

3 个答案:

答案 0 :(得分:3)

不不不不不不不不不不不不。

大多数个案typeof解析为small list已知的全小写值。

答案 1 :(得分:1)

typeof返回的所有字符串始终为小写。但是typeof不是很准确。相反,我建议您使用Object.prototype.toString代替本文中提到的原因:http://bonsaiden.github.io/JavaScript-Garden/#types.typeof

function typeOf(value) {
    if (value === null) return "Null";
    if (typeof value === "undefined") return "Undefined";
    return Object.prototype.toString.call(value).slice(8, -1);
}

以上typeOf函数是typeof运算符的修复程序。它始终返回传递给它的值的正确类型。例如,typeOf([])返回"Array",而typeof []返回"object"。您可以在toLowerCase功能上使用typeOf

答案 2 :(得分:-2)

您不必使用.toLowerCase()

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

另一方面,

typeof返回操作数的值。