Recursion
The act of a function calling itself, recursion is used to solve problems that contain smaller sub-problems. A recursive function can receive two inputs: a base case (ends recursion) or a recursive case (resumes recursion).
function changeColor() {
const randomColor1 = colors[Math.floor(Math.random() * colors.length)];
const randomColor2 = colors[Math.floor(Math.random() * colors.length)];
if (randomColor1 === randomColor2) {
return changeColor();
}
document.body.style.background = `linear-gradient(to right, ${randomColor1},${randomColor2})`;
}
const randomColor1 = colors[Math.floor(Math.random() * colors.length)];
const randomColor2 = colors[Math.floor(Math.random() * colors.length)];
버튼을 누르면 계속 배경색이 바껴야 하는데 위 부분을 함수 밖에서 선언하다 보니 한 번만 할당이 되고 클릭 이벤트로 함수를 실행해도 배경색이 변하지 않았다. 변수 선언을 어디서 해야할 지 다시 생각해볼 수 있었다.
The HTMLElement.focus() method sets focus on the specified element, if it can be focused. The focused element is the element which will receive keyboard and similar events by default.
focusMethod = function getFocus() {
document.getElementById("myTextField").focus();
}