[英]External Javascript calling functions from another external javascript file
[英]calling functions in html from external javascript file
這是一個簡單實用的方法,但我不確定自己做錯了什么。
我的外部 javascript 文件中有以下代碼:
function myname(){
document.write("Monique");
}
function welcomeW(name){
document.write("Welcome " + name + "!");
}
function welcomeR(name){
return "Welcome " name "!";
}
我添加了這個<script>
標簽來鏈接到我的 html 文件:
<script src="script.js" type="text/javascript"></script>
我嘗試使用以下方法調用 html 中的函數:
<script> myname(); </script>
<script> welcomeW(Monique); </script>
<script> welcomeR(Monique); </script>
當我在 html 中編寫函數時它起作用了,但在外部文件中沒有任何反應。
Monique,您的代碼中只有一個問題,請在傳遞參數時使用單引號(即“Monique”)或雙引號(“Monique”),我會收到“Uncaught ReferenceError: Monique is not defined”錯誤信息。
<script> myname(); </script>
<script> welcomeW("Monique"); </script>
<script> welcomeR("Monique"); </script>
或者使用這個。
<script> myname(); </script>
<script> welcomeW('Monique'); </script>
<script> welcomeR('Monique'); </script>
如果<script>
有src
則元素的文本內容將不會作為 JS 執行(盡管它會出現在 DOM 中)。
您需要使用多個腳本元素。
<script>
加載外部腳本<script>
來保存你的內聯代碼(在外部腳本中調用函數)您可能將<script src="<your js file>" type="text/javascript"></script>
放在 html 文件中的錯誤位置。 嘗試將其放在<head></head>
或正文結束標記</body>
之前。
另一個常見錯誤是在<script src="<your js file>" type="text/javascript"></script>
嘗試輸入類似的位置,例如: <script src="./index.js" type="text/javascript"></script>
如果您的 index.js 文件與 index.html 位於同一文件夾中。
希望能幫助到你
根據您的描述,您正在調用函數並正確鏈接 Html 中的 js 文件。 只有幾件事導致了錯誤。
welcomeR 函數有一點語法錯誤。 您可能會遇到 Uncaught SyntaxError: Unexpected identifier 'name'和 *uncaught ReferenceError: myname is not defined”。您需要在 welcomeR 的返回語句的字符串和名稱之間添加“+”來解決此錯誤。使用控制台。 log() 語句來檢查您的 js 文件是否按預期運行。
當您調用 html 文件中的函數時,您應該有一個未捕獲的語法錯誤,其中未定義 Monique。 您只需要將 welcomeW 和 welcomeR 功能從
<script> myname(); </script> <script> welcomeW(Monique); </script> <script> welcomeR(Monique); </script>
到
<script> myname(); </script>
<script> welcomeW("Monique"); </script>
<script> welcomeR("Monique"); </script>
所以你正在傳遞字符串。
有了這個,你應該能夠得到“MoniqueWelcome Monique!” 為您的輸出。
最后一個函數 welcomeR 不會將任何內容輸出到輸出文件中,因為它返回一個 str,並且不會更改外部文件的內容。 如果你希望它也輸出到你的文件中,寫
welcomeR("Monique")
作為
document.write(welcomeR("Monique"));
您忘記了返回時的+。 而且您可以只調用腳本中的函數。如果您正確鏈接它,那么它應該可以工作。
如果你不知道。 Return 不打印/寫入任何內容。 它只是返回。 如果你想寫它,你只需要這樣做。
var welcomeR = return "Welcome " + name + "!"; and document.write(welcomeR);
<script> function myname(){ document.write("Monique"); } function welcomeW(name){ document.write("<br/>" +"Welcome " + name + "!" + "<br/>"); } function welcomeR(name){ return "Welcome " + name + "!"; } myname(); welcomeW("Monique"); welcomeR("Monique"); </script>
確保將腳本函數調用放在腳本 src 標記之后。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.