javascript - How can I return a built-in function as a object property? -
यह कोड कुछ मामलों में काम करता है। यदि यह console.log
देता है तो कॉल को p.out
फ़ंक्शन ठीक है।
फ़ंक्शन नोटिस (मोड) {this.debug = mode; This.out = (function () {if (mode) {if (window.console) {return console.log;} else {return alert;}} else {return notice.doNothing;}}} (मोड); } Var p = नया नोटिस ('1'); P.out ('कूल सहायता, ओह, हाँ!');
हालांकि, जब यह चेतावनी (या window.alert) देता है, मुझे एक त्रुटि मिलती है:
त्रुटि: अपवाद अपवाद: [अपवाद ... "अवैध WrappedNative प्रोटोटाइप ऑब्जेक्ट पर ऑपरेशन "nsresult:" 0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO) "स्थान:" जेएस फ़्रेम :: http: // .. :: :: & lt; TOP_LEVEL & gt;: रेखा 22 "डेटा: नहीं]
और एक साधारण परीक्षण के रूप में, यह काम करता है:
बाहर = (फ़ंक्शन () {वापसी चेतावनी;}) (); बाहर ('नमस्ते डोली');
मैं obj.out को सही तरीके से काम करने के लिए कैसे प्राप्त कर सकता हूं जब इसकी सूचना सतर्क हो?
वापसी कार्य (msg) {चेतावनी (जैसे कि "" पाठ "> संदेश); }
Comments
Post a Comment