2013-06-19 3 views
0

다음 함수를 사용하여 1에서 20 사이의 임의의 숫자를 생성 한 다음 해당 숫자를 두 배로 늘립니다. 이 함수는 작동하는 것처럼 보입니다. 그러나 double 뒤에는 정의가 없습니다. 이 문제의 원인은 무엇입니까?자바 스크립트 임의 번호 기능 - 정의되지 않음

function PlayGame(){ 

    var min = 0; 
    var max = 20; 

    var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min; 
    var doubleRandom = (randomNumber * 2); 

    document.write(randomNumber); 
    document.write(doubleRandom); 

} 

html doc에서 document.write (PlayGame())를 호출합니다. 어쩌면 이것이 내 문제입니다.

+0

작품을 (이기는하지만 document.write''없이) : http://jsfiddle.net/PXpyq/는 당신이 실제로'document.write를을 –

+1

호출 (PlayGame())'? 그러면 PlayGame이'undefined '를 반환하고,'document.write'를 세 번째 호출 할 것입니다. 문제를 재현 할 수 있도록 더 많은 코드를 제공하기 위해 질문을 편집해야합니다. – apsillers

+0

그것은 나를 위해 작동합니다. 나는'document.write'를'console.log'로 바꿉니다. 당신의 브라우저는 무엇입니까? http://jsfiddle.net/PXpyq/2/ – Stiger

답변

1

Live demo:

귀하의 문제는이 경우 document.write입니다. 그 이외에, 당신은 다음과 같이 단순화 할 수 있습니다 : 나를 위해

function getRandomInRange(rangeMax) { 
    return Math.floor(Math.random() * rangeMax); 
}; 

function print(x) { 
    document.body.innerHTML += "<p>" + x + "</p>"; 
}; 

setInterval(function() { 
    print(getRandomInRange(20)); 
}, 2000); 
+0

는'document.write'와 나를 위해 잘 작동 하면 임의 <스크립트 유형 ="텍스트/자바 스크립트 "SRC ="random.js ">

+0

어쩌면 내 HTML 통화의 : – user2502053