2017-06-10 35 views
0

私は簡単なゲームを作成する作業がありますが、私は立ち往生しています。私は宣言された変数を含む関数を持っています:var numberOfFaces = 5;。この一般的な機能は、2別のものを含み、第2ネストされた関数の中で私はこのnumberOfFaces += 5;のように変数の値を使用したいが、それは動作しません。また、この文字列の後、私はまだ痛みのnumberOfFaces = 5
完全なリストを持っている:JavaScript - ある関数の変数の値を別の関数で使用する

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スキルを向上させる方法についての助言や多分アドバイスのためのグランドmerci。ベストアンサーと幸運!

+1

関数を呼び出すたびに、 'numberOfFaces'を5にリセットします。関数に' numberOfFaces'を渡す必要があります。 n引数を指定すると、 'generateFaces(numberOfFaces + 5)' – Barmar

答えて

0
numberOfFaces += 5; 
generateFaces(); 

あなたは5でnumberOfFacesをインクリメントしているが、その後、あなたが(generateFacesを呼んでいる)右その後、この機能がここに変数をリセットしますので、:

function generateFaces() { 
    var numberOfFaces = 5; 

それは変数のを返します。値を5に設定します。

0

グローバル変数としてnumberOfFacesを使用します。

function generateFaces(faces) { 
    var numberOfFaces = faces ? faces : 5; 

そしてそれを呼び出す:カーソンは、あなたが機能あなたが常に5umberOfFacesをリセットしているあなたのgenerateFaces機能で

var numberOfFaces 
function generateFaces() { 
numberOfFaces = numberOfFaces || 5; 
... 
.. 
} 
0

の外を宣言する必要があります言ったように、あなたはこのようなあなたの機能を変更する必要があります

関連する問題