मैं ब्राउज़र बनाया-इन आदि पता लगाना ब्राउज़र वस्तु खोज का एक सा करने के लिए कोशिश कर रहा हूँ, ...ऑब्जेक्ट.की() और ... के लिए अलग क्यों हैं?
मैं अलग परिणाम देखा जब (बस FYI करें मैं क्रोम का उपयोग कर रहा खिड़की ऑब्जेक्ट के गुणों में प्राप्त करने की कोशिश संस्करण 41.0.2272.89 (64-बिट))।
Object.keys(window).length;
7 कुंजी देता है। दस्तावेज़ों से Object.keys() किसी ऑब्जेक्ट की संख्यात्मक गुण देता है।
लेकिन दस्तावेज़ यह भी कहते हैं कि for ... in
किसी ऑब्जेक्ट की संख्यात्मक गुणों पर पुनरावृत्त करता है। हालांकि:
var i = 0;
for (var propertyName in window) {
i++;
}
177.
की गिनती रिटर्न क्यों इस प्रकार भिन्न है? क्या वे दोनों ही संख्यात्मक गुणों की गिनती वापस नहीं कर रहे हैं? वस्तु की अपनी गणनीय गुण और अपने प्रोटोटाइप की गणनीय गुण (और अपने प्रोटोटाइप, आदि) से अधिक
'for..in' प्रोटोटाइप को भी लूप करता है, 'ऑब्जेक्ट.की' केवल अपनी गुण। – elclanrs