यदि आपने किसी भी लंबाई पर जावास्क्रिप्ट के साथ काम किया है, तो आप जानते हैं कि Internet Explorer Array.prototype.indexOf () [Internet Explorer 8 सहित] के लिए ECMAScript फ़ंक्शन को लागू नहीं करता है। यह एक बड़ी समस्या नहीं है, क्योंकि आप निम्न कोड के साथ अपने पेज पर कार्यक्षमता बढ़ा सकते हैं।
Array.prototype.indexOf = function(obj, start) {
for (var i = (start || 0), j = this.length; i < j; i++) {
if (this[i] === obj) { return i; }
}
return -1;
}
मुझे इसे कब लागू करना चाहिए?
क्या मुझे निम्नलिखित चेक के साथ अपने सभी पृष्ठों पर इसे लपेटना चाहिए, जो यह बताता है कि क्या प्रोटोटाइप फ़ंक्शन मौजूद है और यदि नहीं, तो आगे बढ़ें और ऐरे प्रोटोटाइप का विस्तार करें?
if (!Array.prototype.indexOf) {
// Implement function here
}
या ब्राउज़र की जाँच करें और अगर यह इंटरनेट एक्सप्लोरर है तो बस इसे लागू करें?
//Pseudo-code
if (browser == IE Style Browser) {
// Implement function here
}
Array.indexOf
नकारात्मक आरंभिक सूचकांकों को ध्यान में नहीं रखता है। मोज़िला का सुझाव स्टॉप-गैप
Array.prototype.indexOf
में ECMA-262 / ECMAScript का हिस्सा नहीं है। देखें ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf शायद आप सोच रहे होंString.prototype.indexOf
...