2010-05-27 3 views
43

क्या कोई मुझे बता सकता है कि कौन सी ईसीएमए संस्करण आईएन ऑपरेटर उपलब्ध है और कौन से ब्राउज़र (संस्करण) इसका समर्थन करते हैं?ऑपरेटर संगतता में जावास्क्रिप्ट

स्पष्टीकरण:

में ऑपरेटर निम्नलिखित की तरह इस्तेमाल किया जा सकता:

var myObject = { 
    Firstname: 'Foo', 
    Lastname: 'Bar' 
}; 

if('Lastname' in myObject){ 
    // Lastname is an attribute of myObject 
} 

उत्तर

52

यह ECMAScript 3rd edition में परिभाषित किया गया है। यह आईई 5.5+ और फ़ायरफ़ॉक्स, क्रोम, ओपेरा और सफारी के सभी उपयोग में उपलब्ध संस्करणों में उपलब्ध है।

आप इसे ज्ञान में सुरक्षित कर सकते हैं कि यह काम करेगा।

ईवेंट समर्थन की जांच करने के लिए आपको इसका उपयोग करते समय सावधानी के पक्ष में गलती करनी चाहिए। पुराने फ़ायरफ़ॉक्स संस्करणों को छोड़कर सभी कार्यान्वयन DOM ईवेंट के परीक्षण के रूप में "eventname" in element का समर्थन करते हैं।

"onclick" in document.body; // -> false in old Fx, true in others 
document.body.setAttribute("onclick", ""); 
typeof(document.body.onclick == "function"); // -> true in Fx 
+2

यह केवल आईई 5.5+ में है; आईई 5.0 'इन' के लिए 'समस्या ब्राउज़र' था, हालांकि स्पष्ट रूप से चिंता अब लंबी हो गई है। – bobince

+1

एफडब्ल्यूआईडब्ल्यू मैं इसे दूसरे संस्करण में नहीं देख सका @ http://www.ecma-international.org/publications/standards/Ecma-262-arch.htm –

+1

@ निक: यह निश्चित रूप से 3.0 में है, भले ही आईई ने किया प्रकाशन के समय इसका समर्थन नहीं करते हैं। ईसीएमएस्क्रिप्ट 3.1 पांचवां संस्करण बनने के लिए विकास का नाम था। – bobince

2

MDC के अनुसार, यह implemented in JavaScript 1.4 है।

Wikipedia के अनुसार:

  • नेटस्केप नेविगेटर 6.0
  • फ़ायरफ़ॉक्स 1.0+
  • IE 5.5 +
  • ओपेरा 6.0+
  • Safari 3.0+
  • Chrome 1.0+

तो मुझे लगता है कि आप शायद ठीक हैं :)

+0

क्योंकि मैं क्या कर सकते हैं 'अपरिभाषित = 'परिभाषित';' कोड है, जो स्पष्ट रूप से * * फायदेमंद है में पहले। – Eric

+0

@jAndy, ठीक है, मैंने इसे संपादित कर लिया है। – Skilldrick

+1

वास्तव में, आपको इसे एक और जवाब के रूप में रखना चाहिए था, क्योंकि अब हमारी टिप्पणियों का कोई मतलब नहीं है। – Eric