JS如何检查变量是否为函数类型

JavaScript 中有几种方法可以检查变量是否具有函数。

让我们讨论它们中的每一个,并找到问题的最快解决方案。

JavaScript 函数

JavaScript 函数是旨在执行特定任务的主要代码块。
函数允许代码被多次调用而不会重复。
在函数内部定义的变量不能从函数外部的任何地方访问,因为它只在函数范围内定义。

toString() 方法

另一个有用的方法是 toString()。
每个对象都有一个 toString() 方法,当需要字符串类型的值时调用该方法。
如果该方法未被覆盖,它将返回对象类型。

let arr = new Array("Html", "Css", "Javascript", "Git");        
let str = arr.toString();
console.log("Showing string is : " + str );

运算符类型

我们可以使用 typeof 运算符来检查变量。

它返回一个字符串,指示未计算的操作数的类型。

console.log(typeof '' === 'string'); 
console.log(typeof function() {} === 'function');   
console.log(typeof true === 'boolean'); 
console.log(typeof Symbol() === 'symbol'); 
console.log(typeof {key: 1} === 'object');

运算符的实例

另一种方法可以是 instanceof 运算符,它在运行时检查对象的类型。

它返回一个相应的布尔值,例如,true 或者 false 以指示对象是否属于特定类型:

let str = new String(); 
let date = new Date();
console.log(str instanceof Object); 
console.log(str instanceof Date); 
console.log(str instanceof String); 
console.log(str instanceof Number); 
console.log(date instanceof Date); 
console.log(date instanceof Object); 
console.log(date instanceof String); 
console.log(date instanceof Number);

typeof 方法在 Chrome 中似乎是最快的,但在 Firefox 中,instanceof 方法是赢家。

日期:2020-06-02 22:16:10 来源:oir作者:oir