2011-02-01 6 views
12

कहते हैं कि मैंऑब्जेक्ट शाब्दिक में संदर्भ चर?

myfunc({ 
    var1: 1, 
    var2: 2, 
}) 

अगर मैं है कि वर्तमान अज्ञात वस्तु का उपयोग करता है एक मूल्य करना चाहते है, मैं कैसे इस करना होगा?

जैसे अगर मैं

myfunc({ 
    var1: 1, 
    var2: 2, 
    var3: this.var1 + this.var2 
}) 

चाहता था स्पष्ट रूप से यह काम नहीं करता।

सही वाक्यविन्यास क्या होगा?

उत्तर

4

दुर्भाग्यवश, यह संभव नहीं है। जबकि एक वस्तु का शाब्दिक निर्माण किया जा रहा है, तब तक उस वस्तु का कोई बाहरी संदर्भ मौजूद नहीं है जब तक कि पूरे शाब्दिक मूल्यांकन नहीं किया जाता है।

function MyObject() { 
    this.var1 = 1; 
    this.var2 = 2; 
    this.var3 = this.var1 + this.var2; 
} 

myfunc(new MyObject()); 
3

आप अंकन आप उपयोग कर रहे में ऐसा नहीं कर सकते हैं: इस स्तर पर this उपयोग करने के लिए एक ही रास्ता के बजाय एक निर्माता का प्रयोग है। इस संदर्भ में एक वस्तु शब्दशः अपने आप में कोई धारणा नहीं है।

16

आप एक समारोह var3 कर सकता है, और यह कॉल करते समय 'इस' का उपयोग करने की अनुमति देगा:

x= { 
    v1:4, 
    v2:5, 
    v3:function(){return this.v1 + this.v2;} 
}; 

alert(x.v3()); 
+3

वास्तव में ओपी क्या चाहता था मुझे लगता है। – Nathan

+3

समस्या यह है कि वाक्यविन्यास भिन्न x.v1 और x.v3() है। – IvanH

-3

मैं चर और वेब पर वस्तु शाब्दिक के बारे में इस पाया। आशा है कि ये आपकी मदद करेगा! click here

+1

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। – juliocesar

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

  • कोई संबंधित समस्या नहीं^_^