लंबा हाथ अगर जावास्क्रिप्ट में दिखेगा:

function somefunction(param){

    if(typeof(param) != 'undefined'){
           var somevar = param;
         } else {

           alert('ERROR: missing parameter in somefunction. Check your form'); 
           return;

         }

}

और मेरा संक्षिप्त हाथ संस्करण है:

function somefunction(param){

    param = typeof(param) != 'undefined' ? param : function(){alert('ERROR: missing parameter in somefunction. Check your form'); return;}

}

लेकिन इससे काम नहीं होता।

मैं कैसे कर सकता हुँ?

शुक्रिया

0
IberoMedia 11 नवम्बर 2011, 01:51

1 उत्तर

सबसे बढ़िया उत्तर

आप केवल समारोह की घोषणा कर रहे हैं। आपको इसे निष्पादित करना होगा। परिभाषा के आगे () जोड़ें ..

function somefunction(param){
    param = typeof(param) != 'undefined' ?
                param :
                function() {
                    alert('ERROR: missing parameter in somefunction. Check your form'); 
                    return false;
                }();
}

संपादित करें: उपरोक्त कार्यात्मक रूप से मूल के बराबर नहीं है क्योंकि फ़ंक्शन स्वयं कुछ भी वापस नहीं करता है और फ़ंक्शन निष्पादन को समाप्त नहीं करता है।

function somefunction(param) {
    if (typeof(param) == 'undefined') {
        alert('ERROR: missing parameter in somefunction. Check your form'); 
        return false;
    }

    // Use param
}
3
amit_g 11 नवम्बर 2011, 02:17
1
लेकिन यह मूल फ़ंक्शन के बराबर नहीं है: यह कुछ फ़ंक्शन() से झूठी वापसी के बजाय परम को गलत पर सेट करता है।
 – 
nnnnnn
11 नवम्बर 2011, 01:59
हाँ, आप सही कह रहे हैं और मुझे खुशी है कि आपने इस ओर ध्यान दिलाया। मैं नया हूं और "कुछ वापस करें" निहितार्थ के लिए जिम्मेदार नहीं था। फिर भी, amit_g का समाधान वही करता है जो मेरा इरादा था। मुझे चर सेट करने के बजाय चेतावनी ट्रिगर करने में दिलचस्पी है, इसलिए, मैंने प्रश्न संपादित किया है, बस वापस लौटने के लिए; जैसे समारोह से बाहर निकलना धन्यवाद आपकी टिप्पणी ने मुझे प्रबुद्ध कर दिया ... मुझे अब एक मैच की तरह लग रहा है
 – 
IberoMedia
11 नवम्बर 2011, 02:18