ज्यादातर मामलों में, सामान्य रूप से 'के लिए का उपयोग करना बेहतर होता है 'for...in . के बजाय लूप " लूप क्योंकि "for...in " लूप का परिणाम इंडेक्स . में होता है और बचे हुए इंडेक्स के बारे में परेशान नहीं होगा जबकि सामान्य "के लिए " लूप मानों को प्रदर्शित करता है और बचे हुए इंडेक्स में 'अपरिभाषित' नामक एक मान निष्पादित किया जाएगा ताकि एक डेवलपर कोड लिखते समय भ्रमित न हो।
वाक्यविन्यास-1
for (var x in array) { // code };
उपरोक्त कोड "for...in . के लिए सिंटैक्स है "लूप।
वाक्यविन्यास-2
for () { // code };
उपरोक्त सामान्य "के लिए . का सिंटैक्स है "लूप।
उदाहरण-1
निम्न उदाहरण में, प्रारंभ में, सरणी "num " में केवल 5 अंक होते हैं (0-4 से अनुक्रमणिका)। जब अन्य अनुक्रमणिका 7 जो अनुक्रमणिका 'चार' से दूर है सरणी में जोड़ा जाता है, लगातार इंडेक्स को बचे हुए इंडेक्स (5 और 6) के बारे में कुछ भी सूचित किए बिना निष्पादित किया गया है। जो सामान्य "के लिए . के मामले में नहीं है " लूप। यह डेवलपर को भ्रमित कर सकता है।
<html> <body> <script> var num = [1,2,3,4,5]; num[7] = 7; for (var x in num) { document.write(x); document.write("</br>"); } </script> </body> </html>
आउटपुट
0 1 2 3 4 7
उदाहरण-2
निम्न उदाहरण में, "for...in . के विपरीत " लूप, सामान्य रूप से "के लिए " लूप इंडेक्स के बजाय मान प्रदर्शित होते हैं और बचे हुए इंडेक्स में भी मान अपरिभाषित डेवलपर को भ्रमित न करने के लिए निष्पादित किया जाता है।
<html> <body> <script> var num = [1,2,3,4,5]; num[7] = 7; for (var i = 0; i < num.length; i++) { document.write(num[i]); document.write("</br>"); } </script> </body> </html>
आउटपुट
1 2 3 4 5 undefined undefined 7