Javascript enumerate object value: the difference obj.key vs obj[key] -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 10 उत्तर

किसी ऑब्जेक्ट के जरिए दोबारा, Obj.key का उपयोग करके संदर्भ मान सभी "अपरिभाषित" मिलता है जबकि obj [key] ठीक काम करता है वे समान नहीं हैं वे नहीं हैं? क्या मुझे कुछ याद आ रहा है?

jsfiddle लिंक:

  फ़ंक्शन इटरेट ओबज (obj, callback) {if obj == null || type ob ob! = "Object") { वापसी; } के लिए (obj में var कुंजी) {// कॉलबैक (कुंजी, obj [कुंजी]); Console.log ("obj.key --- & gt;" + obj.key); Console.log ("obj [key] --->" + obj [कुंजी]); // कॉलबैक (कुंजी, ओबीजे.की); "दूसरा": {दूसरे: "1", दूसरे 1: "3", दूसरा 2: "अन्य": " 2 "}, अंत:" foo "} फिर से ओबज (नमूना, फ़ंक्शन (कुंजी, मान) {// console.log (" कुंजी: "+ + +", "+" मान: "+ मान);})  

नहीं वे समान नहीं हैं जब आप ऑब्जेक्ट पर प्रॉपर्टी लुकअप कर रहे हैं और जो संपत्ति आप देख रहे हैं, या इस उदाहरण में 'कुंजी' में कुछ और के लिए एक प्लेसहोल्डर है, तो आपको ब्रैकेट नोटेशन का उपयोग करने की आवश्यकता है उदाहरण के लिए, आपके लूप में 'कुंजी' आपके ऑब्जेक्ट की वास्तविक कुंजी के लिए एक प्लेसहोल्डर है। जब आप ऑब्जेक्ट पर गुणों को एक्सेस कर रहे हैं और डॉट के दायीं ओर की बात है तो संपत्ति का वास्तविक नाम या आपके उदाहरण में, sample.start


Comments

Popular posts from this blog

python - Strange behavior using PyQt4's 'pyqtSlot' decorator before another decorator -

c# - UnhandledExceptionMode.ThrowException for AppDomain.UnhandledException -

c# - Process.Kill() returns access denied -