由於性能和其他問題,我想將代碼拆分爲單獨的函數,就像之前它只是一個大的「.ready」函數。將代碼拆分爲函數
我是新來的javaScript/jquery,但我想我會給它一個自己去。我已經完成了我認爲完成的方式,但是我的控制檯告訴我事情沒有定義,所以我猜測我已經找到了範圍之外的東西。我已經詳細閱讀了它,但還沒有得到任何地方。
我的代碼現在工作正常,但我想進入乾淨的編碼習慣。有人能指出我出錯的地方,所以我可以繼續自己嗎?
這裏是我到目前爲止
//Global variables
var randomWord = [];
var listOfWords = [];
var populationNumber = [];
var attemptNumber = [];
var completionNumber = [];
var gridSize = [];
generateGrid();
startMusic();
randomizeReward();
//Click event to start the game
$(".start-btn-wrapper").click(function() {
startplay();
});
//Click event to restart the game
$(".restart-btn").click(function() {
restartplay();
});
感謝
爲例小提琴:http://jsfiddle.net/QYaGP/
撥弄HTML:http://jsfiddle.net/QYaGP/1/
在沒有HTML的jsfiddle中沒有一個完整的工作示例,但我的直接猜測是這樣的:你是「全局作用域」變量只是全局的就緒狀態。就緒之外的功能無法訪問這些變量。將它們移到jquery'ready'函數之上,這樣它們就是真正的全局函數,其他函數可以訪問它們。 –
好的我會嘗試Eli Gassert – IronSpoon
瞭解JavaScript變量範圍並閱讀有關[函數式編程](http://eloquentjavascript.net/chapter6.html) –