当前位置: 首页 > 面试题库 >

检查变量是否为函数类型

端木权
2023-03-14
问题内容

假设我有任何变量,定义如下:

var a = function() {/* Statements */};

我想要一个检查变量类型是否像函数一样的函数。即:

function foo(v) {if (v is function type?) {/* do something */}};
foo(a);

如何检查变量a是否为Function上述定义的类型?


问题答案:

当然,下划线的方式效率更高,但是当效率不是问题时,最好的检查方法是写在@Paul Rosania链接的下划线页面上。

受下划线启发,最终的isFunction函数如下:

function isFunction(functionToCheck) {
 return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]';
}


 类似资料:
  • 本文向大家介绍如何检查JavaScript变量是否为函数类型?,包括了如何检查JavaScript变量是否为函数类型?的使用技巧和注意事项,需要的朋友参考一下 使用“ typeof”检查它是否是一个函数。您可以尝试运行以下代码来检查JavaScript变量是否为函数类型: 示例

  • 问题 你希望检查一个变量是否为一个数组。 myArray = [] console.log typeof myArray // outputs 'object' “typeof” 运算符为数组输出了一个错误的结果。 解决方案 使用下面的代码: typeIsArray = Array.isArray || ( value ) -> return {}.toString.call( value ) i

  • 问题内容: 我想知道如何检查变量是否是类(不是实例!)。 我试图使用该函数来执行此操作,但我不知道类将具有哪种类型。 例如,在以下代码中 我试图用 ??? 代替“ ” ,但我意识到这是python中的关键字。 问题答案: 更好的是:使用该功能。

  • 问题内容: 如何检查变量是否为整数? 问题答案: 如果你需要这样做,请执行 除非你使用的是Python 2.x,否则需要 不要使用type。在Python中,这几乎永远不是正确的答案,因为它阻止了多态性的所有灵活性。例如,如果你子类化int,则你的新类应注册为int,但type不会这样做: 这符合Python强大的多态性:你应该允许行为类似于的任何对象int,而不是强制将其作为一个对象。 BUT

  • 问题内容: 当我的函数f用一个变量调用时,我想检查var是否是一个熊猫数据框: 我想解决方案可能很简单,但即使 我无法使其按预期工作。 问题答案: 使用,没有别的: PEP8明确表示这是检查类型的首选方法 而且甚至不用考虑 处理继承(请参见type()和isinstance()之间的区别?)。例如,它会告诉你,如果一个变量是一个字符串(或),因为他们从派生) 专门针对 对象:

  • 问题内容: 有什么最短的方法吗? 如果我是正确的,应该用? 有可能,并且在一行中写(也许是数组?)而不重复? 问题答案: 如果要测试变量是否 确实 是,请使用标识运算符: 如果要检查是否未设置变量: 或者,如果变量不为空,则为空字符串,零,..: 如果要测试变量是否不是空字符串,也将足够: