오늘 상식에 따라 이벤트를 루프로 묶는 자바스크립트 질문을 봤는데, 결과가 제가 원하는 대로 나오지 않았습니다.
간단히 말하면 함수 변수 범위 문제입니다. function() {alert(i); return false }가 함수 a()로 간주되면; a()인데 내부적으로 사용하고 있어서 외부에서 검색해 보니 for 루프에 정의된 i가 실행이 완료된 후부터 click 이벤트가 실행되기 시작했습니다. 1; 그래서 나올 때마다 -1입니다. 2개의 매개변수가 있는 for 루프도 흔하지 않습니다. 혼란시키다?
for (문장 1, 문 2, 문 3) {
//todo
}
a.for 루프 조건
일반적으로 말하면 진술 1, 진술 2, 진술 3은 모두 선택 사항입니다.
b. 문 2:
일반적으로 문 2는 초기 변수의 조건을 평가하는 데 사용됩니다.
문 2도 선택 사항입니다.
문 2가 true를 반환하면 루프가 다시 시작되고, false를 반환하면 루프가 종료됩니다.
팁: 문 2를 생략하는 경우 루프 내부에 중단을 제공해야 합니다. 그렇지 않으면 사이클을 멈출 수 없습니다. 이로 인해 브라우저가 중단될 수 있습니다.
c. i-판단 관련:
i-참/거짓을 판단할 때 먼저 i--를 판단한 다음 i--를 계산합니다. i--의 마지막 판단에 들어갈 때, 실제로 i==0이 판단되었을 때, 판단 이후 다시 i--가 실행되어 for 루프가 종료되어 i의 값이 -1이 되었습니다. var i = 1
!!i--;//ture
해결책:
코드 복사
}
})(i)
}
또는
}
}
a(i)
다른 네티즌들이 7방법 데모로 해결했습니다:
코드 복사
코드는 다음과 같습니다. function init() {
for( var i=0; i
alert(i)
}
}
}
제품 1
제품 2
제품 3
제품 5
🎜>1. 각 단락 객체에 변수 i를 저장합니다(p)
코드 복사
코드는 다음과 같습니다.
var pAry = document.getElementsByTagName("p")
for( var i=0; i
코드 복사
코드는 다음과 같습니다.
function init2() {
var pAry = document.getElementsByTagName("p")
for( var i=0; i
alert(arguments.callee.i);
}).i = i
}
}
3; , 클로저 레이어를 추가하면 i가 함수 매개변수의 형태로 내부 함수에 전달됩니다.
function init3() {
var pAry = document.getElementsByTagName("p")
for( var i=0; i
pAry[i].onclick = function() {
alert(arg);
};
})(i);//일 때 매개변수
}
}
호출 4. 클로저 레이어를 추가하고 i를 지역 변수
var pAry = document.getElementsByTagName("p");
for( var i=0; i
var temp = i; //호출 시 로컬 변수
pAry[i].onclick = function() {
alert(temp);
}
})();
}
}
var pAry = document .getElementsByTagName("p")
for( var i=0; i
return function() { //함수 반환
alert(arg)
}
}(i); }
6. 함수를 사용해 실제로 구현 함수 인스턴스가 생성될 때마다 클로저가 생성됩니다
🎜>}
7. 함수를 활용하여 구현, 6과의 차이점 주의
코드 복사
}
}
요약이 완료되었습니다. 환영합니다. 참여하다!

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Dreamweaver Mac版
시각적 웹 개발 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.
