एक सरल शून्य आधारित, संख्यानुसार अनुक्रमित सरणी को देखते हुए:जावास्क्रिप्ट में खराब अभ्यास माना जाता है के साथ '(सूची में var आइटम)' क्यों है?
var list = ['Foo', 'Bar', 'Baz'];
कई बार, मैं देखा है जब कोई इस तरह एक सरणी में चर के माध्यम से पाशन पता चलता है कि:
for(var item in list) { ... }
... वहाँ है लगभग निश्चित रूप से कोई सुझाव देता है कि यह बुरा अभ्यास है और वैकल्पिक दृष्टिकोण सुझाता है:
var count = list.length;
for(var i = 0; i < count; i++) {
var item = list[i];
...
}
क्या तर्क है ऊपर के सरल संस्करण का उपयोग नहीं कर रहे हैं और इसके बजाय दूसरे उदाहरण का उपयोग करने के लिए?
36 गुना तेजी से साबित हुई तुम्हें पता है, कि पाश के साथ से अधिक आइटम पाशन नहीं कर रहे हैं आप कुंजी/संपत्ति के नाम/indizes से अधिक पाशन कर रहे हैं। – Bergi
विक्टोरियन टोफैट्स में सी कोडर भी iiterators को समझ नहीं है। हालांकि इसकी स्पिटिंग कुंजी को ध्यान में रखें, मूल्यों पर नहीं। के लिए (;;) प्रारूप तेज है, लेकिन 99% समय, यह वास्तव में कोई फर्क नहीं पड़ता। कोडर समय गणना गणना समय से अधिक महंगा है जब तक कि आप मेगाप्रोजेक्ट्स या ऑप्टिमाइज़ेशन की वास्तविक आवश्यकता वाले सामान पर काम नहीं करते। – Shayne