javascript - 지연 실행 함수 setTimeout 앞의 var xxx=null의 역할은 무엇입니까?
伊谢尔伦2017-05-19 10:38:43
0
3
577
처음 올려서 죄송합니다.. 효과를 만들고 싶은데 마우스가 2초 동안 유지되면 일부 기능이 2초 이상 실행되지 않습니다. 그러다가 발견했습니다. 저는 setTimeout 함수를 온라인으로 사용해 성공적으로 해결했습니다. 왜냐하면 제가 독학을 했기 때문입니다. 그래서 제 기초가 약하고 제가 이해하지 못하는 몇 가지 사항을 설명해야 합니다
왜 여기에는 명시할 수 없나요? var가 함수 범위에 있다는 것을 알아야 합니다. function에 선언된 변수는 내보내는 즉시 사라집니다. > 이 변수는 어디서 찾을 수 있나요?
🎜🎜여기서 if는 주로 setTimeout가 타이머 번호를 성공적으로 반환한 경우에만 발생합니다(초기 값이 null이기 때문에 반환하지 않으면 확실히 발생합니다). false) 이전 실행 오류가 발생했을 때 해당 오류 코드가 계속 실행되지 않도록 clearTimeout(timer) 문장을 실행합니다. 🎜🎜
🎜
우선, setTimeout 타이머는 사용 후 지워집니다. 어떤 타이머를 지울지 알기 위해서는 타이머 변경이라는 변수를 추가해야 합니다. 둘째, 기능 범위. 내부 변수는 함수 외부에서 직접 접근할 수 없으므로, 다른 함수에서 사용하려면 함수 외부에서 변수를 정의해야 합니다. 마지막 if(타이머)는 주로 타이머가 닫힐 때 명확한 오류가 발생하는 것을 방지하는 것입니다.
setTimeout
은 타이머 번호인 정수 ID를 반환합니다. 변수를 미리 선언하는 것은 자연스럽게 숫자를 저장하는 데 사용됩니다.setTimeout
会返回一个整数id,是计时器编号,提前声明一个变量自然是存储编号用了;为什么不能在这里声明?要知道
var
是函数作用域的,在function
里边声明的变量一出去就没了,你叫另一个匿名函数的clearTimeout
到哪去找这个变量?这里的
왜 여기에는 명시할 수 없나요?if
主要是严谨,在setTimeout
成功返回计时器编号(因为初始是null,如果没返回肯定就false了)的情况下,才会执行clearTimeout(timer)
var
가 함수 범위에 있다는 것을 알아야 합니다.function
에 선언된 변수는 내보내는 즉시 사라집니다. > 이 변수는 어디서 찾을 수 있나요?if
는 주로setTimeout
가 타이머 번호를 성공적으로 반환한 경우에만 발생합니다(초기 값이 null이기 때문에 반환하지 않으면 확실히 발생합니다). false) 이전 실행 오류가 발생했을 때 해당 오류 코드가 계속 실행되지 않도록clearTimeout(timer)
문장을 실행합니다. 🎜🎜 🎜우선, setTimeout 타이머는 사용 후 지워집니다. 어떤 타이머를 지울지 알기 위해서는 타이머 변경이라는 변수를 추가해야 합니다.
둘째, 기능 범위. 내부 변수는 함수 외부에서 직접 접근할 수 없으므로, 다른 함수에서 사용하려면 함수 외부에서 변수를 정의해야 합니다.
마지막 if(타이머)는 주로 타이머가 닫힐 때 명확한 오류가 발생하는 것을 방지하는 것입니다.
위 두 분 모두 감사드립니다!