सवाल jQuery है फ़ंक्शन चेक त्रुटि "फ़ंक्शन परिभाषित नहीं किया गया है"


मैं यह जांचना चाहता हूं कि कोई कार्य मौजूद है या नहीं, इसे चलाने की कोशिश करने से पहले। मेरा कोड यहाँ है:

if ($.isFunction(myfunc())) {
    console.log("function exist, run it!!!");
}

हालांकि, जब फ़ंक्शन उपलब्ध नहीं है तो मुझे त्रुटि मिली है:

myfunc परिभाषित नहीं है

मैं पहचान कैसे कर सकता हूं? मेरा कामकाजी परीक्षण यहां है: http://jsfiddle.net/3m3Y3/


44
2017-11-17 05:52


मूल




जवाब:


रख करके () फ़ंक्शन नाम के बाद, आप वास्तव में अपनी पहली पंक्ति में इसे चलाने की कोशिश कर रहे हैं।

इसके बजाए, आपको इसे चलाने के बिना फ़ंक्शन नाम का उपयोग करना चाहिए:

if ($.isFunction(myfunc)) {

तथापि - अगर myfunc कोई फ़ंक्शन नहीं है और कोई अन्य परिभाषित चर नहीं है, यह अभी भी एक त्रुटि लौटाएगा, हालांकि एक अलग। कुछ इस तरह myfunc is not defined

आपको यह जांचना चाहिए कि नाम मौजूद है, और फिर जांचें कि यह एक फ़ंक्शन है, इस तरह:

if (typeof myfunc !== 'undefined' && $.isFunction(myfunc)) {

यहां उदाहरण काम करना: http://jsfiddle.net/sXV6w/


119
2017-11-17 05:54



आपके उत्तर के लिए धन्यवाद, लेकिन यह अभी भी काम नहीं करता है। मैंने इसे यहां परीक्षण किया है: jsfiddle.net/3m3Y3 - user1995781
@ user1995781 आपको शब्द उद्धृत करने की आवश्यकता है 'undefined' - Petah
यह jQuery निर्भरता प्लगइन्स के लिए काम नहीं करता है, if (!!$.prototype.functionName) मेरे लिए काम किया, जवाब की जांच करें यहाँ - Vikas Khunteta


इसे इस्तेमाल करे

if(typeof myfunc == 'function'){
    alert("exist");
}else{
    alert("not exist");
}

11
2017-11-17 06:17