मैं बेंचमार्क है दो तरीकों:सरणी वस्तुओं की तुलना में ऑब्जेक्ट गुणों तक पहुंचने के लिए हमेशा तेज़ क्यों होता है?
पहुँच सरणी आइटम
var object = [10, 15, 20];
var x = object[0];
var y = object[1];
var z = object[2];
और पहुँच वस्तु गुण
var object = {
x: 10,
y: 15,
z: 20
};
var x = object.x;
var y = object.y;
var z = object.z;
मैं सरणी आइटम के लिए उपयोग बहुत तेजी से होने की उम्मीद, चूंकि कोई संपत्ति नाम संकल्प शामिल नहीं है।
हालांकि, मेरे आश्चर्य के लिए, ऑब्जेक्ट गुणों तक पहुंच लगभग 30% तेज सभी ब्राउज़रों में थी।
बेंचमार्क परिणाम मुझे उलझन में बनाया है। किस कारण से पूर्व विधि की तुलना में पूर्व विधि इतनी धीमी होनी चाहिए?
* "... कोई संपत्ति नाम शामिल संकल्प है के बाद से वहाँ।" * आपको क्या लगता है कि वहाँ कोई संपत्ति नाम संकल्प है बनाता है? Arrays सिर्फ फैंसी ऑब्जेक्ट्स हैं। ऐरे इंडेक्स संपत्ति के नाम हैं। –
@ एनोटियम सी सी पृष्ठभूमि से सामान्य ज्ञान। – caiosm1005
हाँ, जावास्क्रिप्ट के साथ कभी-कभी आपको दरवाजे पर सामान्य ज्ञान छोड़ने की आवश्यकता होती है। –