辅助函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了辅助函数相关的知识,希望对你有一定的参考价值。
1 /** 2 * obj 是否promise 3 * 利用promise.then存在且为function 4 */ 5 6 function isPromise(obj) { 7 return ‘function‘ == typeof obj.then; 8 } 9 10 /** 11 * obj是否Generator 12 * 利用Generator的next 和 throw 两属性为Fuction的特点加以判断 13 */ 14 15 function isGenerator(obj) { 16 return ‘function‘ == typeof obj.next && ‘function‘ == typeof obj.throw; 17 } 18 19 /** 20 * 是否Generator方法 21 * 利用constructor的name和displayName属性。 22 * @example 23 * var a = {} 24 * a.constructor === Object 25 * a.constructor.name // "Object" 26 */ 27 28 function isGeneratorFunction(obj) { 29 var constructor = obj.constructor; 30 if (!constructor) return false; 31 if (‘GeneratorFunction‘ === constructor.name || ‘GeneratorFunction‘ === constructor.displayName) return true; 32 return isGenerator(constructor.prototype); 33 } 34 35 /** 36 * 判断是否干净对象 37 * 利用constructor 属性。 38 * @example 39 * Object.constructor === Object 40 */ 41 42 function isObject(val) { 43 return Object == val.constructor; 44 }
以上是关于辅助函数的主要内容,如果未能解决你的问题,请参考以下文章