哪种方法更好地确定变量是否属于函数类型
typeof(methodName) == typeof(Function)
或者
typeof methodName === 'function'
哪种方法更好地确定变量是否属于函数类型
typeof(methodName) == typeof(Function)
或者
typeof methodName === 'function'
这里有两件事:
typeof
是运算符,不是函数,不要使用它们'function'
or比较(除非有人乱搞并覆盖本机对象,否则typeof Function
它将始终返回)。'function'
使用绳子,它需要更少的工作,并且不受上述拧紧的影响。即使用:
typeof methodName === 'function'
通常的解决方案,例如在 jQuery 源代码 ( example )中可以找到的解决方案是第二种:
typeof value === 'function'
它比第一个更快,因为您不需要调用第二个typeof
,并且根本没有理由使用第一个,因为ECMAScript 指定它必须是 "function":
第二个具有更好的性能并在许多 javascript 库中使用
这是更好的方法
if (typeof methodName === 'function') {
// Do your stuff
}