2012-10-24 8 views
8

संभव डुप्लिकेट:
How can I check if a javascript variable is function type?नोड js जांच करता है, तो एक वर एक समारोह है

मैं कैसे अगर एक चर सरणी के लिए एक समारोह है जाँच मौजूद Array.isArray() लेकिन Function.isFunction dos'nt मौजूद है

+0

http://stackoverflow.com/q/5999998/ –

+0

उल्लेख है कि स्वीकार किए जाते हैं/सर्वश्रेष्ठ उत्तर यहां संदर्भित प्रश्न से अधिक आसान है, के रूप में यह सिर्फ नोड के लिए (कोई संगतता समस्याओं है वर्थ) –

उत्तर

29
if (typeof variable === 'function') { 
    // do something 
} 
3

आप instanceof ऑपरेटर का उपयोग कर सकते हैं।

var fn = function() {}; 
var result = fn instanceof Function; // result will be true 

यह प्रोटोटाइप विरासत का भी सम्मान करता है।

1
var fn = function() {}, 
    toString = Object.prototype.toString; 

first way: 

if(toString.call(function(){}) === '[object Function]') { 
    //if is Function do something... 
} 

second way: 

if(fn.constructor.name = 'Function') { 
    //if is Function do something... 
} 

आशा है कि यह चीयर्स की मदद करे :)!

5

Underscore.js एक लाइब्रेरी है जिसमें बहुत से उपयोगी सहायक हैं, जैसे आप ढूंढ रहे हैं।

http://underscorejs.org/

_ = require('underscore'); 

var aFunction = function() { }; 
var notFunction = 'Not a function'; 

_.isFunction(aFunction); // true 
_.isFunction(notFunction); // false 
+0

मैं इस मामले के लिए अंडरस्कोर का उपयोग नहीं करता, यह देखते हुए कि _.isFunction फ़ंक्शन सिर्फ 'टाइपऑफ obj ==' फ़ंक्शन 'है || झूठा' - https://github.com/jashkenas/underscore/blob/e944e0275abb3e1f366417ba8facb5754a7ad273/underscore.js#L1338 – tylucaskelley

संबंधित मुद्दे