![](/img/trans.png)
[英]How one function access a variable value from another function in JavaScript?
[英]JavaScript - Using the value of a variable from one function in another
我有一個任務來創建一個簡單的游戲,但我陷入了困境。 我有一個包含聲明的變量的函數: var numberOfFaces = 5;
。 這個通用函數包括另外兩個,在第二個嵌套函數中,我想使用變量的值,例如numberOfFaces += 5;
但它不起作用,並且在此字符串之后,我仍然具有numberOfFaces = 5
痛苦的完整清單:
function generateFaces() {
var numberOfFaces = 5;
var theLeftSide = document.getElementById("leftSide");
var theRightSide = document.getElementById("rightSide");
var theBody = document.getElementsByTagName("body")[0];
var counter = numberOfFaces;
while (counter > 0) {
var smileFaceImg = document.createElement("img");
smileFaceImg.src = "pepe.png";
smileFaceImg.style.top = Math.floor(Math.random() * 400) + "px";
smileFaceImg.style.left = Math.floor(Math.random() * 400) + "px";
theLeftSide.appendChild(smileFaceImg);
counter--;
}
var clon = theLeftSide.cloneNode(true);
clon.removeChild(clon.lastChild);
document.getElementById("rightSide").appendChild(clon);
theLeftSide.lastChild.onclick = function nextLevel(event) {
while (theLeftSide.firstChild) {
theLeftSide.removeChild(theLeftSide.firstChild);
}
event.stopPropagation();
numberOfFaces += 5;
generateFaces();
};
theBody.onclick = function gameOver() {
alert("Game Over!");
theBody.onclick = null;
theLeftSide.lastChild.onclick = null;
};
}
我是JavaScript的初學者。 謝謝您,“如何提高我的JS技能”方面的任何幫助和建議。 順祝商祺!
numberOfFaces += 5;
generateFaces();
您將numberOfFaces遞增5,但隨后又要調用generateFaces(),因為此函數在此處重置了變量 :
function generateFaces() {
var numberOfFaces = 5;
它將變量的值返回到5。
您想將numberOfFaces用作全局變量。 正如卡森所說,您應該在函數外部聲明
var numberOfFaces
function generateFaces() {
numberOfFaces = numberOfFaces || 5;
...
..
}
在generateFaces
函數中,您總是將umberOfFaces
重置為5
,您需要像這樣更改函數:
function generateFaces(faces) {
var numberOfFaces = faces ? faces : 5;
然后這樣稱呼它:
generateFaces(numberOfFaces);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.