javascript - Uncaught RangeError: Maximum call stack size exceeded .. parameterized constructor -
$ (दस्तावेज़) .ready (function () {function कर्मचारी (प्रथमनाम) {this.firstName = firstName; } Employee.prototype.goToWork = function () {console.log ("मैं दफ्तर पर जा रहा हूं!"); कर्मचारी कर्मचारी। प्रोटोटाइप साइज = समारोह () {console.log ("हैलो, मैं" + यह .firstName);}; फ़ंक्शन डेवलपर (प्रथम नाम, प्रोजेक्ट) {Employee.call (यह, प्रथम नाम); this.project = project;}; डेवलपर। प्रोटोपीप = ऑब्जेक्ट। बनाएं (कर्मचारी .प्रोटोटाइप); डेवलपर.प्रोटोटाइप.कन्स्ट्रक्टर = डेवलपर; डेवलपर.प्रोटोटाइपसैले = फ़ंक्शन () {// ओवरराइड कहते हैं हेलो () console.log ("हैलो, मैं डेवलपर हूं" + यह.पहला नाम + "। मैं" + this.project + "परियोजना में हूं। "(डेवलपर्स.प्रोटोटाइप.डिवेलकोड = फंक्शन) () {console.log (" मैं कोड विकसित कर रहा हूं। "); $ ("। डेवलपर ओके ") क्लिक करें (फ़ंक्शन () {var name = $ (" .developerName ")। Val (); var समर्थक अस्वीकृत = $ ( "। developerProject") वैल ()।; Var डेवलपर 1 = नया डेवलपर (नाम, प्रोजेक्ट); Developer1.sayHello (); Developer1.goToWork (); Developer1.developCode (); }); फ़ंक्शन प्रबंधक (प्रथम नाम, प्रोजेक्ट) {setTimeout (प्रबंधक कॉल (यह, प्रथम नाम), 5); This.project = परियोजना; }; Manager.prototype = ऑब्जेक्ट। बनाएँ (कर्मचारी। प्रोटोकाट); Manager.prototype.constructor = प्रबंधक; Manager.prototype.sayHello = function () {console.log ("नमस्कार, मैं प्रबंधक हूँ" + this.firstName + "। मैं" + ..project + "परियोजना में हूँ।);); }; Manager.prototype.manageTeam = function () {console.log ("मैं टीम का प्रबंधन करता हूं।"); }; $ ("। प्रबंधक")। क्लिक करें (फ़ंक्शन () {var name = $ ("। ManagerName")। Val (); var project = $ ("। ManagerProject")। Val (); var प्रबंधक 1 = नया प्रबंधक ( नाम, प्रोजेक्ट); प्रबंधक 1 एसएएचएलएलओ (); प्रबंधक 1। जीओटीओवर्क (); प्रबंधक 1। व्यवस्थापकता ();}); });
जब मैं managerOK
बटन पर क्लिक करता हूं, तो यह manager.call ()
पर uncaught range त्रुटि देता है setTimeout का उपयोग करने की कोशिश की ()
लेकिन जैसा कि मेरे कन्स्ट्रक्टर को पैरामीटिज किया गया है, मैं इसे पैंटेथिसिस के बिना कॉल करने में सक्षम नहीं हूं। कृपया मदद करें।
मुझे लगता है कि मैं आपकी समस्या देख रहा हूं। आप प्रबंधक कंस्ट्रक्टर को अपने भीतर अतुल्यकालिक कॉल कर रहे हैं, जिससे एक स्टैक ओवरफ़्लो होता है:
फ़ंक्शन प्रबंधक (प्रथम नाम, प्रोजेक्ट) {setTimeout (manager.call (यह, प्रथमनाम), 5); This.project = परियोजना; };
यह एक सामान्य समस्या है और मैंने इसके कई रूपों को देखा है। प्रबंधक को कुछ 5 मिलीसेकेंड बाद में सौंपा जाना चाहिए। यह आपके अन्य प्रकारों में से एक हो सकता है - कर्मचारी या डेवलपर?
उम्मीद है कि मदद करता है!
Comments
Post a Comment