javascript - 지연 실행 함수 setTimeout 앞의 var xxx=null의 역할은 무엇입니까?
伊谢尔伦
伊谢尔伦 2017-05-19 10:38:43
0
3
562

처음 올려서 죄송합니다..
효과를 만들고 싶은데 마우스가 2초 동안 유지되면 일부 기능이 2초 이상 실행되지 않습니다.
그러다가 발견했습니다. 저는 setTimeout 함수를 온라인으로 사용해 성공적으로 해결했습니다. 왜냐하면 제가 독학을 했기 때문입니다. 그래서 제 기초가 약하고 제가 이해하지 못하는 몇 가지 사항을 설명해야 합니다

코드에는 총 3개의 질문이 댓글로 달려있습니다. 정말 감사드립니다!
코드:

으아아아
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답(3)
世界只因有你
  1. setTimeout은 타이머 번호인 정수 ID를 반환합니다. 변수를 미리 선언하는 것은 자연스럽게 숫자를 저장하는 데 사용됩니다. setTimeout会返回一个整数id,是计时器编号,提前声明一个变量自然是存储编号用了;

  2. 为什么不能在这里声明?要知道var是函数作用域的,在function里边声明的变量一出去就没了,你叫另一个匿名函数的clearTimeout到哪去找这个变量?

  3. 这里的if主要是严谨,在setTimeout成功返回计时器编号(因为初始是null,如果没返回肯定就false了)的情况下,才会执行clearTimeout(timer)

    왜 여기에는 명시할 수 없나요? var가 함수 범위에 있다는 것을 알아야 합니다. function에 선언된 변수는 내보내는 즉시 사라집니다. > 이 변수는 어디서 찾을 수 있나요?
🎜🎜여기서 if는 주로 setTimeout가 타이머 번호를 성공적으로 반환한 경우에만 발생합니다(초기 값이 null이기 때문에 반환하지 않으면 확실히 발생합니다). false) 이전 실행 오류가 발생했을 때 해당 오류 코드가 계속 실행되지 않도록 clearTimeout(timer) 문장을 실행합니다. 🎜🎜 🎜
左手右手慢动作

우선, setTimeout 타이머는 사용 후 지워집니다. 어떤 타이머를 지울지 알기 위해서는 타이머 변경이라는 변수를 추가해야 합니다.
둘째, 기능 범위. 내부 변수는 함수 외부에서 직접 접근할 수 없으므로, 다른 함수에서 사용하려면 함수 외부에서 변수를 정의해야 합니다.
마지막 if(타이머)는 주로 타이머가 닫힐 때 명확한 오류가 발생하는 것을 방지하는 것입니다.

某草草

위 두 분 모두 감사드립니다!

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿