के माध्यम से प्रथम श्रेणी के तर्क के रूप में console.log को तर्क पास करें, एक अनिर्दिष्ट संख्या में तर्कों की एक निर्दिष्ट संख्या लेती है और उनकी सामग्री को एक पंक्ति में डंप करती है।प्रॉक्सी फ़ंक्शन
क्या कोई तरीका है कि मैं एक ऐसा कार्य लिख सकता हूं जो उस व्यवहार को बनाए रखने के लिए console.log
पर सीधे तर्क भेजता है? उदाहरण के लिए:
function log(){
if(console){
console.log(arguments);
}
}
arguments
के बाद से एक सरणी है और console.log
कि सरणी की सामग्री को डंप हो जाएगा:
function log(){
if(console){
/* code here */
}
}
यह रूप में एक ही नहीं होगा। न ही यह वही होगा:
function log(){
if(console){
for(i=0;i<arguments.length;console.log(arguments[i]),i++);
}
}
चूंकि यह सब कुछ अलग-अलग पंक्तियों में प्रिंट करेगा। बिंदु console.log
के व्यवहार को बनाए रखना है, लेकिन प्रॉक्सी फ़ंक्शन log
के माध्यम से।
+ ---
मैं एक समाधान मैं भविष्य में सभी कार्यों के लिए आवेदन कर सकता है के लिए देख रहा था (एक समारोह बरकरार तर्क की हैंडलिंग रखने के लिए एक प्रॉक्सी बनाएँ)। यदि ऐसा नहीं किया जा सकता है, तो मैं console.log
विशिष्ट उत्तर स्वीकार करूंगा।
यह क्रोम/सफारी में काम नहीं करता है। यह एक "अवैध आमंत्रण" त्रुटि फेंकता है। – aditya
@aditya, अद्यतन कोड .. मैं सही संदर्भ का उपयोग नहीं कर रहा था .. आपको 'कंसोल' को लागू करने के लिए 'इस' तर्क के रूप में पास करने की आवश्यकता है .. –
बहुत बढ़िया। वह काम किया। धन्यवाद! – aditya