x.field = true;
x.field.netType = "System.Boolean";
वास्तव में काम कर रहा है।
x.field
जो एक प्राचीन बूलियन मान है आंतरिक रूप से ऑब्जेक्ट में परिवर्तित हो रहा है लेकिन हमारे पास इसका संदर्भ नहीं है इसलिए यह कचरा बन जाता है। अगर हम x.field
का रिफ्रेंस स्टोर करते हैं ताकि यह कचरा न हो, तो हम मूल्य प्राप्त कर सकते हैं। इस तरह ....
x.field = true;
var y = x.field.netType = "System.Boolean";
alert(y);
आप आप इस
var x = {};
x.field = {};
x.field.netType = "System.Boolean";
alert(x.field.netType);
की तरह कोड लिखने हैं तो यह काम करेंगे।
अपने कोड इस लाइन x.field.netType = "System.Boolean";
केवल रैपर हैं `सख्त मोड
`//Cannot assign to read only property 'netType' of true`
में त्रुटि फेंक होगा क्यों इस लाइन x.field.netType
इस प्रकार के undefined
वस्तुओं देता है, उनके मूल्य आदिम है वे लपेटें और वे आम तौर पर आवश्यकतानुसार इस मूल्य के लिए मजबूर होंगे।
जावास्क्रिप्ट primitives and objects
के बीच आसानी से सहयोग करेगा।
var a = 'Intekhab';
a.length;//In this case the string value is coerced to a string object in order to access the property length.
var Twelve = new Number(12);
var fifteen = Twelve + 3; // In this case Object Twelve is coerced to a primitive value.
fifteen; //15
जावास्क्रिप्ट एक आदिम यह वास्तव में एक वस्तु को आदिम विवश होगा करने के लिए एक संपत्ति आवंटित करने की कोशिश का पता लगाता है। इस नई वस्तु का कोई संदर्भ नहीं है और तुरंत कचरा संग्रह के लिए चारा बन जाएगा।
var primitive = "september";
primitive.vowels = 3;
//new object created to set property
(new String("september")).vowels = 3;
primitive.vowels;
//another new object created to retrieve property
(new String("september")).vowels; //undefined
फेंक;' शीर्ष पर और जादू ;-) – thefourtheye
@thefourtheye देखते हैं? सख्त मोड यहाँ क्या करेगा? – Pointy
@ छात्र शिकायत करें। यह शिकायत करेगा। सख्त मोड वह चुनिंदा लड़की है जो आपको सबसे मोहक चीजें नहीं करने देती है, जबकि गैर-सख्त मोड oposite है। –