判断函数类型 Object.prototype.toString().call
1.判断普通匿名函数
var obj1 = Object.prototype.toString.call( function(){}); console.log(obj1); console.log(obj1 === '[object Function]');
2.判断异步函数
var obj2 = Object.prototype.toString.call( async function(){}); console.log(obj2); console.log(obj2 === '[object AsyncFunction]');
3.判断有名函数
var obj3 = Object.prototype.toString.call( function *(){}); console.log(obj3); console.log(obj3 === '[object GeneratorFunction]');