얼굴을 생성하고 감사 한 Coursera.com 과정의 일부로 표시하는 코드를 생성하려고합니다. 함수 밖에서 생성 된 변수가 있는데,이 함수에 전달하고자하는 변수가 있습니다. 내 시도 : 나는변수 전달/전달 함수
window.onload = generateFaces;
다음에 어떤 변수를 정의하지 않은 것처럼
var numberOfFaces = 5;
var theLeftSide = document.getElementById("leftSide");
var theImg = document.createElement("img");
theImg.src = "smile.png";
function generateFaces(numberOfFaces, theLeftSide, theImg) {
for (i = 0; i < numberOfFaces; i++) {
var leftPosition = Math.floor(Math.random() * 400);
var topPosition = Math.floor(Math.random() * 400);
theImg.style.left = leftPosition + "px";
theImg.style.top = topPosition + "px";
theLeftSide.appendChild(theImg.cloneNode());
};
var theRightSide = document.getElementById("rightSide");
var leftSideImages = theLeftSide.cloneNode(true);
leftSideImages.removeChild(leftSideImages.lastChild);
theRightSide.appendChild(leftSideImages.cloneNode(true));
return leftSideImages;
}
window.onload = generateFaces;
이 잘 느끼지 않았다, 나는 버튼
<input id="clickMe" type="button" value="clickme" onclick="generateFaces(numberOfFaces, theLeftSide, theImg);" />
에서 푸시 시도 올바른 방향을 이해할 수 있습니다. 코드는 함수에서 변수를 정의하면 작동합니다. 이것은 지금까지 성취했습니다!
왜 이러한 변수를 로컬 변수로 정의하고 전역 변수를 외부 변수로 정의합니까? – tadman
죄송합니다. 외부의 함수 대신에 함수를 정의하면 코드가 작동합니다. 원래 함수를 테스트하는 방법 이었지만 지금은 다른 변수를 사용하고 싶습니다. – Jacob