: अच्छी पार्ट्स डगलस Crockford द्वारा, यह सब लेखक जारी रखने के वक्तव्य के बारे में क्या कहना है है:जावास्क्रिप्ट में "जारी रखें" बयान क्यों खराब हैं?
continue
बयान पाश की चोटी पर कूदता है। मैंने कोड का एक टुकड़ा कभी नहीं देखा है जिसेcontinue
कथन को हटाने के लिए इसे पुन: सक्रिय करके सुधार नहीं किया गया था।
यह वास्तव में मुझे भ्रमित करता है। मुझे पता है कि क्रॉकफोर्ड के पास जावास्क्रिप्ट पर कुछ बहुत ही विचार किए गए विचार हैं, लेकिन यह सिर्फ मेरे लिए पूरी तरह से गलत लगता है।
सबसे पहले, continue
बस एक लूप के शीर्ष पर कूदने से कहीं अधिक है। डिफ़ॉल्ट रूप से, यह अगले पुनरावृत्ति में भी प्रगति करता है। तो क्रॉकफोर्ड का बयान सिर्फ पूरी तरह झूठी सूचना नहीं है?
अधिक महत्वपूर्ण बात यह है कि, मुझे पूरी तरह से समझ में नहीं आता कि continue
को भी बुरा माना जाएगा। Why is continue inside a loop a bad idea?
हालांकि मैं समझ कैसे continue
कोड कुछ मामलों में पढ़ने के लिए कठिन बना सकती हैं, मुझे लगता है कि बस के रूप में होने की संभावना है कि यह कोड अधिक पठनीय बना सकते हैं: इस पोस्ट में क्या आम धारणा हो रहा है प्रदान करता है। उदाहरण के लिए:
var someArray=['blah',5,'stuff',7];
for(var i=0;i<someArray.length;i++){
if(typeof someArray[i]==='number'){
for(var j=0;j<someArray[i];j++){
console.log(j);
}
}
}
यह पुनर्संशोधित किया जा सकता है में:
var someArray=['blah',5,'stuff',7];
for(var i=0;i<someArray.length;i++){
if(typeof someArray[i]!=='number'){
continue;
}
for(var j=0;j<someArray[i];j++){
console.log(j);
}
}
continue
इस विशिष्ट उदाहरण में विशेष रूप से लाभप्रद नहीं है, लेकिन यह सच है कि यह नेस्टिंग गहराई कम कर देता है को प्रदर्शित करता है। अधिक जटिल कोड में, यह संभावित रूप से पठनीयता में वृद्धि कर सकता है।
क्रॉकफोर्ड कोई स्पष्टीकरण प्रदान नहीं करता है कि continue
का उपयोग क्यों नहीं किया जाना चाहिए, तो क्या इस राय के पीछे कुछ गहरा महत्व है कि मुझे याद आ रही है?
कीवर्ड 'जारी रखें' एक उपकरण है - जहां लागू हो वहां इसका उपयोग करें। कुछ समय यह आवश्यक है, ज्यादातर बार यह नहीं है। एकमात्र समय यह बुरा है जब आपको इसका उपयोग करने की आवश्यकता नहीं थी, लेकिन यह एक और तरीका करने के लिए बहुत आलसी या मैला था। – slugster
मुझे एक ही भावना थी और इसलिए मैंने अपना [पोस्ट] बनाया (http://stackoverflow.com/questions/30030033/continue-statement-confusion)। जारी बयान का उपयोग करते समय मुझे 'हॉप' शब्द के बारे में सोचने में क्या मदद मिली। मुझे लगता है कि श्री क्रॉफर्ड ने भाषा को डिजाइन करते समय यहां एक खराब शब्द का इस्तेमाल किया: पी विशेष रूप से हॉप इसके पीछे तर्क 'जारी' लागू कर सकता है। यदि आप किसी ऐसी चीज़ पर आशा करते हैं जो आप आमतौर पर जारी रखते हैं। एक अच्छा सादृश्य के रूप में मैराथन ट्रैक धावकों के बारे में सोचें। –
"श्री क्रॉफर्ड" ने भाषा को डिजाइन नहीं किया। – rlemon