2016-06-08 76 views
1

問題是我嘗試將我的代碼放在單獨的JavaScript文件中。並且一個文件將引用文件中的一個變量,該文件以前在index.html文件中引用。我的前端JavaScript文件無法訪問其他javascript文件中的變量

例如,我的公用文件夾中的兩個文件是client.jstest.js

在我client.js文件,我有這些代碼:

function init() { 
    var socket = io.connect(); 
    var temp = x; 
} 

document.addEventListener("DOMContentLoaded", init, false); 

在我test.js文件,我有這些代碼:

var x = 5; 

在我index.html文件,我有這些代碼:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Amazing Particle System</title> 
     <meta charset="utf-8"> 
     <link rel="stylesheet" type="text/css" href="style.css"> 
    </head> 
    <body> 
     <canvas id="particle"></canvas> 
     <script src="/socket.io/socket.io.js"></script> 
     <script scr="/test.js"></script> 
     <script src="/client.js"></script> 
    </body> 
</html> 

但是當我運行我的代碼時,我總是得到錯誤:

client.js:15 Uncaught ReferenceError: x is not defined

在開發人員工具中,我無法在來源選項卡中看到我的test.js文件。

有什麼我在我的代碼中做錯了嗎?我該如何解決這個問題?

+0

在哪裏以及你如何調用init函數,你有沒有考慮通過X作爲調用它時的參數? –

+0

@VladimirDrenovski我省略了一些io連接的代碼。但是這是一個nodejs項目的客戶端,所以你明白了。正如我在問題中所說的,'init'函數在'client.js'中被調用。 – newguy

+2

你必須更正''中的拼寫錯誤,你寫了'scr'而不是'src'屬性。這就是爲什麼你的腳本不工作 –

回答

2

你必須糾正<script scr="/test.js"></script>一個錯字,你已經寫了scr代替src屬性..這就是爲什麼按照預期的腳本不工作

相關問題