2010-12-17 20 views
6
var objectliteral = { 
    func1:fn(){}, 
    func2:fn(){}, 
    ................. 
    funcn:fn(){} 
} 

मैं जानता हूँ कि मैं डॉट नोटेशन का उपयोग कर उस वस्तु शाब्दिक से विधियां प्रारंभ कर सकते हैं इस:ब्रैकेट नोटेशन का उपयोग करके मैं सदस्य फ़ंक्शन कैसे आमंत्रित कर सकता हूं?

objectliteral[func1]. .... something something...... 

मैं कैसे करूँ:

objectliteral.func1(); 

लेकिन मुझे लगता है कि इस तरह सरणी अंकन का उपयोग करना चाहते हैं वो करें? मुझे पता है कि मैं आवेदन या कॉल विधियों का उपयोग कर सकता हूं - लेकिन मुझे अभी भी यह नहीं पता कि वे कैसे काम करते हैं।

मैं सिर्फ यह कर सकता ?:

objectliteral[func1].apply(); 

संकल्प

उत्तरों के आधार पर:

objectliteral['func1']() 

सब मैं की जरूरत है। धन्यवाद दोस्तों।

उत्तर

11

नहीं, यह कार्य करें:

objectliteral['func1'](); 

तुम भी एक गतिशील नाम का उपयोग कर सकते हैं:

var myfuncname='func1'; 
objectliteral[myfuncname](); 
1

आप इस कोशिश कर सकते:

objectliteral['func1'](); 
1

उपयोगकर्ता objectliteral["funct1"].apply() या objectliteral["funct1"]()

तुम भी एक चर का उपयोग कर सकते समारोह नाम

var funname = "funct1"; 
objectliteral[funname ]() 
1

पारित करने के लिए आप क्या कर सकते हैं objectliteral["func1"]();

1
var func1 = 'func1' 
objectLiteral[func1](); 

आप काम हो जाना चाहिए।

2

आप इस तरह यह कर सकते हैं:

var objectLiteral = { 
    func1: function() { alert('func1'); }, 
    func2: function() { alert('func2'); } 
}; 

// This does the same thing... 
objectLiteral['func1'](); 

// As this does 
objectLiteral.func1(); 
संबंधित मुद्दे

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