2015-05-17 5 views
6

मैं कोड है:के बारे में वापसी सरणी # नक्शा उलझन में जावास्क्रिप्ट

function func1(){ 
    return 
    array.map(function(el){ 
     return el.method(); 
    }); 
} 

function func2(){ 
    var confused = 
    array.map(function(el){ 
     return el.method(); 
    }); 
    return confused; 
} 

क्यों func1 वापसी undefined जबकि func2 वापसी अच्छा मूल्य (है कि मैं जरूरत है)?

मेरी अंग्रेजी के लिए खेद है।

+0

स्वत: अर्धविराम सम्मिलन। – Bergi

उत्तर

11

जे एस में आंतरिक रूप से इंजन पहला उदाहरण इस तरह दिखता है,

function func1() { 
    return; 
    array.map(function(el){ 
     return el.method(); 
    }); 
}; 

है यही कारण है कि आप undefined मिलता है, return के बाद नई लाइन जोड़ने नहीं है, क्योंकि वापसी कथन एक नई लाइन के बाद जे एस intepreter एक है कि बताता है उस वापसी के बाद सेमी कॉलन डाला जाना चाहिए।

function func1() { 
    return array.map(function(el){ 
    return el.method(); 
    }); 
}; 
संबंधित मुद्दे