본문 바로가기

JavaScript

[자바스크립트 기초] 함수로 인디언이름 반환하기

반응형

 

함수 function() 으로 인디언이름 반환하기

 

var 색상목록 = ["푸른","붉은","검은","하얀"];
undefined
var 자연목록 = ["늑대","태양","독수리","바람"];
var 단어목록 = ["눈물","환생","기상","일격"];
var 인디언이름 = 무작위단어선택(색상목록);

var 무작위단어선택 = function(단어목록){
    return 단어목록[Math.floor(Math.random()*단어목록.length)];
};


무작위단어선택(단어목록);
"일격"
무작위단어선택(색상목록);
"하얀"

var 인디언이름 = 무작위단어선택(색상목록) + " " + 무작위단어선택(자연목록) + "의 " + 무작위단어선택(단어목록)+ "!!";


인디언이름;
"하얀 태양의 눈물!!"
인디언이름;
"하얀 태양의 눈물!!"
인디언이름;
"하얀 태양의 눈물!!"

 

위의 방법대로 하면 인디언이름; 에서 이미 인디언이름이 "하얀 태양의 눈물!!"로 정의가 된 상태가 되므로 그 뒤에는 무작위로 인디언이름이 추출되지 않고 "하얀 태양의 눈물!!" 이 반복되어 나타난다는 문제가 있다

 

 

var 인디언이름작성 = function(){
    var 색상목록 = ["푸른","붉은","검은","하얀"];
var 자연목록 = ["늑대","태양","독수리","바람"];
var 단어목록 = ["눈물","환생","기상","일격"];

var 인디언이름 = 무작위단어선택(색상목록) + " " + 무작위단어선택(자연목록) + "의 " + 무작위단어선택(단어목록)+ "!!";

return 인디언이름;
};
undefined
인디언이름작성();
"푸른 바람의 눈물!!"
인디언이름작성();
"검은 바람의 일격!!"
인디언이름작성();
"하얀 독수리의 환생!!"

 

따라서, 인디언이름을 함수 호출로 반환하기 위해 인디언이름작성이라는 변수를 하나 더 만든다

이렇게 작성하면 인디언 이름이 인디언이름작성 함수의 반환 값으로서 호출 될 때마다 무작위로 다르게 나올 수 있다.

 

 

반응형