2011-03-15 8 views

उत्तर

13

आपके उदाहरण में कोई अंतर नहीं है। यदि आप चाहते हैं कि आपकी संपत्ति के नाम एक संख्या हों या रिक्त स्थान हों (दोनों जिनमें से वैध हैं, लेकिन अजीब हैं) तो एक अंतर होगा।

var object3 = { 
    '123': 0, 
    'hello world' : 1 
} 

// This is valid 
alert(object3['123']); // -> 0 
alert(object3['hello world']); // -> 1 

// This is not 
alert(object3.123); // -> Syntax Error 

यदि आपके पास दो मिनट हैं तो आपको यह पृष्ठ बहुत उपयोगी लगेगा।
http://bonsaiden.github.com/JavaScript-Garden/#object.general

+0

@ जेसेगेविन- ग्रेट लिंक- धन्यवाद – Yarin

+0

हाँ जावास्क्रिप्ट गार्डन शानदार है! यह चीजों को वास्तव में अच्छी तरह से बताता है। – jessegavin

+0

मैं जावास्क्रिप्ट गार्डन से लिंक नहीं करूंगा, मुख्य रूप से क्योंकि इसमें इस बारे में पूरी व्याख्या नहीं है - हमने विषय पर सब कुछ शामिल करने के लिए निर्धारित नहीं किया है, केवल quirkest बिट्स; मैं एमडीसी का सुझाव देने जा रहा था लेकिन ऑब्जेक्ट्स पर उनका पृष्ठ गंभीर रूप से पुराना है (जावास्क्रिप्ट 1.0? गंभीरता से?), तो मुझे लगता है कि यह अब के लिए करेगा;) –

0

कोई फर्क नहीं पड़ता। दोनों वाक्यविन्यास सही हैं

0

उन दोनों के बराबर हैं क्योंकि जावास्क्रिप्ट, ऑब्जेक्ट अटर्स में। या तो तार या सादा पाठ हो सकता है।

6

जेसेगेविन द्वारा उत्तर पहले से ही बताई गई सब कुछ बताता है, लेकिन मुझे एक ऐसी चीज जोड़ने दो जिसे आपने नहीं पूछा था लेकिन भविष्य में उसे जानने की आवश्यकता हो सकती है।

{ a: 0, b: 1, c: 2 } 
{ 'a': 0, 'b': 1, 'c': 2 } 
{ "a": 0, "b": 1, "c": 2 } 

लेकिन केवल पिछले एक वैध JSON है:

इन सभी मान्य JavaScript वस्तु शाब्दिक हैं। जेएसओएन में चाबियों को सही ढंग से उद्धृत नहीं करना शायद अवैध JSON उत्पन्न करने वाले प्रोग्रामों का मुख्य कारण है, और अमान्य JSON उन समस्याओं का मुख्य स्रोत प्रतीत होता है जो लोगों के पास AJAX है।

बिल्कुल आपके प्रश्न का उत्तर नहीं है लेकिन फिर भी यह प्रासंगिक है और भविष्य में आपको कुछ परेशानी बचा सकता है।

+0

@ आरएसपी- उस मूल्यवान युक्ति के लिए धन्यवाद – Yarin

संबंधित मुद्दे