2016-03-15 9 views
5

मैं स्वयं जावास्क्रिप्ट सीख रहा हूं। कुछ जावास्क्रिप्ट के साथ भ्रम है,जावास्क्रिप्ट कॉलन ऑपरेटर भ्रम

price = 14; 
name = "Mary"; 
apples:5; //This line executing without error 
"orranges":6; //This line getting error 
alert(name); 

दोनों पंक्तियों को किसी भी त्रुटि के बिना किसी जेसन ऑब्जेक्ट में उपयोग किया जा सकता है। लेकिन जब मैं उन पंक्तियों का उपयोग जेसन ऑब्जेक्ट के बाहर कर रहा हूं, दूसरी पंक्ति ("ऑरेंज": 6;) त्रुटि हो रही है। ऐसा क्यों है ? और पहली पंक्ति के लिए त्रुटि क्यों नहीं दे रही है (सेब: 5;), क्या कोई तरीका है कि मैं इसे जेसन ऑब्जेक्ट के बाहर उपयोग कर सकता हूं?

+1

Obligatory: http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/। –

+0

संबंधित और संभवतः डुप्लिकेट: ['[जावास्क्रिप्ट] कोलन'] (https://stackoverflow.com/search?q=%5Bjavascript%5D+colon)। एक नया प्रश्न पूछने से पहले कृपया खोज का उपयोग करें। –

उत्तर

7

: एक ऑपरेटर नहीं है, यह लेबल वाक्यविन्यास का हिस्सा बनता है।

MDN

label :
statement

लेबल
किसी भी जावास्क्रिप्ट पहचानकर्ता कि एक आरक्षित शब्द नहीं है देखें।

apples एक पहचानकर्ता है।

"orranges" एक स्ट्रिंग अक्षर है।

क्या कोई तरीका है कि मैं इसे जेसन ऑब्जेक्ट के बाहर उपयोग कर सकता हूं?

आप ऑब्जेक्ट शाब्दिक वाक्यविन्यास के साथ JSON को भ्रमित कर रहे हैं।

आप : का उपयोग ऐसे चरित्र के रूप में नहीं कर सकते हैं जो किसी ऑब्जेक्ट को किसी ऑब्जेक्ट को परिभाषित करने की प्रक्रिया में नहीं है, किसी ऑब्जेक्ट में किसी मान से किसी गुण से अलग करता है।

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