2012-07-31 23 views
7

मैं जावास्क्रिप्ट पर बस नया कॉमर्स हूं इसलिए जब मैं जावास्क्रिप्ट दस्तावेज़ पढ़ता हूं, और कई जटिल संरचनाएं हैं जिनका मैं पालन नहीं कर सकता।जावास्क्रिप्ट: किसी अन्य फ़ाइल से कॉलिंग फ़ंक्शन

यहां जावास्क्रिप्ट कोड की संक्षिप्त व्याख्या है जो मैं पढ़ रहा हूं: मेरे मामले में दो मुख्य फाइलें हैं: Helper.js और Circle.js

हेल्पर.जेएस में, एक विधि का नाम है: using:function(param1,param2)। और नीचे Circle.js के लिए कोड है:

<script src="Helper.js"></script> 
<script src="circle.js"></script> 
<script> 
    test = function(){ 
     py.Figures.Alert(); // calling for testing purpose 
    } 
</script> 
<body onload="test();"></body> 

जब मैं क्रोम और कंसोल में देखने पर चलाने के लिए, मैं इस त्रुटि को पूरा:

Helper.using('py.Figures', function (ns) { 

    ns.Circle = function (params) { 
     // some additional methods and code here 
    } 

    ns.Alert = function(){ // for the test purpose 
      alert('hello'); 
    } 
}); 

और फ़ाइल test.html में, मैं इस तरह कुछ कोड लिखें:

Uncaught TypeError: Object # has no method 'Alert'

इसका मतलब है कि मैंने उन वर्गों को आयात नहीं किया है, फिर भी। कृपया मुझे बताएं कि फ़ंक्शन को किसी अन्य फ़ाइल से कैसे कॉल करना है। मेरे मामले में है: बुला Alert()

धन्यवाद :)

@ संपादित करें:

Helper.js

Circle.js

+0

मैं एक बेला अपलोड करने का सुझाव देते हैं में इन फ़ाइलों सहित इसलिए हम पूरे ऑपरेशन को देखने के लिए सक्षम हो जाएगा के अनुक्रम का ख्याल रखना। – Novak

+0

क्या 'हेल्पर.यूजिंग' काम करता है? क्या ऐसा करता है जो इसे करना है (नेमस्पेस बनाना)? –

+0

* Helper.using ('py.Figures' * मुझे जावास्क्रिप्ट की तरह नहीं दिखता है। –

उत्तर

7

आप क्यों नहीं लेते: मैं कोड के लिए कुछ लिंक को शामिल किया है इस उत्तर को देखने के लिए

Including javascript files inside javascript files

संक्षेप में आप स्क्रिप्ट फ़ाइल को AJAX के साथ लोड कर सकते हैं या इसे शामिल करने के लिए HTML पर एक स्क्रिप्ट टैग डाल सकते हैं (स्क्रिप्ट से पहले जो अन्य स्क्रिप्ट के कार्यों का उपयोग करता है)। मैंने जो लिंक पोस्ट किया है वह एक अच्छा जवाब है और इसमें दोनों विधियों के कई उदाहरण और स्पष्टीकरण हैं।

+0

यह सही उत्तर है! – varagrawal

1

हाँ आप कर सकते हैं। स्पष्टीकरण के लिए बस मेरी पहेली की जांच करें। डेमो उद्देश्य के लिए मैंने कोड को उसी स्थान पर बेवकूफ़ बना दिया। आप उस कोड को दो अलग-अलग जावास्क्रिप्ट फ़ाइलों में दिखाए गए अनुसार निकाल सकते हैं और उन्हें HTML फ़ाइल में लोड कर सकते हैं।

https://jsfiddle.net/mvora/mrLmkxmo/

/******** PUT THIS CODE IN ONE JS FILE *******/ 

    var secondFileFuntion = function(){ 
     this.name = 'XYZ'; 
    } 

    secondFileFuntion.prototype.getSurname = function(){ 
    return 'ABC'; 
    } 


    var secondFileObject = new secondFileFuntion(); 

    /******** Till Here *******/ 

    /******** PUT THIS CODE IN SECOND JS FILE *******/ 

    function firstFileFunction(){ 
     var name = secondFileObject.name; 
     var surname = secondFileObject.getSurname() 
     alert(name); 
     alert(surname); 
    } 

    firstFileFunction(); 

आप एक वस्तु निर्माता समारोह का उपयोग कर और दूसरी फ़ाइल में पहुँच संपत्ति या इसे से विधि की कोशिश कर करते हैं, तो यह आप के गुण जो किसी अन्य फ़ाइल में मौजूद हैं की पहुँच दे देंगे।

बस index.html

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