JavaScript는 기본적으로 유형을 지원하는 동적 유형, 약한 유형의 프로토타입 기반 언어입니다. 해당 인터프리터는 브라우저의 일부이며 클라이언트측 스크립팅 언어에서 널리 사용되는 JavaScript 엔진이라고 합니다. 이는 HTML 웹 페이지에 동적 기능을 추가하기 위해 HTML(Standard Universal Markup Language의 응용 프로그램) 웹 페이지에서 처음 사용되었습니다. .
"JavaScript 기본 강화 비디오 튜토리얼"은 JavaScript의 기본 지식을 설명하는 데 중점을 두고 프로그래밍의 기본 구문을 포함하며 주로 변수, 데이터 유형, 유형 변환, 흐름 제어문, 배열, 단순 유형과 복합 유형의 차이점을 포함합니다. , 및 개체 소개, 사례를 통해 기본 문법을 통합합니다. 이 비디오 세트는 여러분을 놀라운 JavaScript의 세계로 안내할 것입니다.
동영상 재생 주소: http://www.php.cn/course/543.html
이 동영상의 난이도는 논리 능력을 테스트하는 배열 루프입니다. 다음은 다양한 루프 예를 요약한 것입니다.
배열의 요소를 어떻게 순회하나요? 20년 전 JavaScript가 처음 등장했을 때 다음과 같이 배열 순회를 구현할 수 있었습니다:
var arr=["one","two","three"];2 for(var i=0;i<arr.length;i++){3 document.write(arr[i]);4 }
ES5의 공식 릴리스 이후 내장된 forEach 메서드를 사용하여 배열을 순회할 수 있습니다.
myArray.forEach(function (value) { console.log(value);});实际上forEach有三个参数 分别为 值 下标 数组本身 于是我们有[].forEach(function(value, index, array) { // ...}); 对比jQuery中的$.each方法: $.each([], function(index, value, array) { // ...});
첫 번째 및 두 번째 매개변수는 정반대입니다. 모두 주의해서 잘못 기억하지 마세요. $.map과 같은 유사한 메소드의 경우에도 마찬가지입니다.
$.each(Array, function(i, value) { Array //数组 this; //this指向当前元素 i; //i表示Array当前下标 value; //value表示Array当前元素}); var arr = [ "one", "two", "three", "four"]; $.each(arr, function(){ alert(this); }); //上面这个each输出的结果分别为:one,two,three,four var obj = { one:1, two:2, three:3, four:4}; $.each(obj, function(key, val) { alert(obj[key]); }); //这个each就有更厉害了,能循环每一个属性 //输出结果为:1 2 3 4
예:
arr.forEach(function(i,j,v){ document.write("<br />数组的值"+i+ "<br />数组的下标"+j+","+ "<br />数组本身"+v+"---") })
이 코드는 더 간결해 보이지만 이 방법에는 작은 결함도 있습니다.
forEach는 충분히 유연하지 않습니다.
arr.forEach는 사용하기 쉽지 않습니다. 중단하기 위해 break 문을 사용할 수 없습니다. 루프를 사용하거나 사용할 수 없습니다. return 문은 외부 함수로 반환됩니다.
물론 for 루프 구문을 사용하여 배열 요소를 순회하는 것도 좋습니다.
그러면 for-in 루프를 시도해보고 싶을 것입니다:
for (var index in myArray) { // 千万别这样做 console.log(myArray[index]); }
이 코드에서 index에 할당된 값은 실제 숫자가 아니라 문자열 "0", "1", "2"입니다. "2" + 1 == "21"과 같은 문자열 산술 계산을 실수로 수행할 가능성이 매우 높으며, 이는 인코딩 프로세스에 큰 불편을 초래합니다.
간단히 말하면
for-in은 일반 객체용으로 설계되었기 때문에 문자열 유형의 키를 얻을 수 있으므로 배열 탐색에는 적합하지 않습니다.
for...in은 배열 순회에 적합하지 않습니다.
for...in은 사용자 정의 속성이나 프로토타입 속성도 순회하며, 인덱스는 숫자 값이 아닌 문자열이며 어떤 경우에는 순회조차 되지 않습니다. order
강력한 for -of 루프
ES6은 작성한 JS 코드를 손상시키지 않습니다. 현재 수천 개의 웹 사이트가 for-in 루프에 의존하고 있으며 일부는 배열 탐색에도 사용하는 것 같습니다. for-in 루프를 수정하여 배열 순회 지원을 추가하면 더욱 혼란스러워질 수 있으므로 표준 위원회는 현재 문제를 해결하기 위해 ES6에 새로운 루프 구문을 추가했습니다.
객체를 순회하기 위해 for...in을 사용하는 것만큼 간단하고 사용하기 쉬운, 배열을 순회하는 더 편리한 방법이 필요합니다. 즉, for...of
이렇습니다:
for (var value of myArray) { console.log(value); }
예, 이렇게 합니다. 이전 내장 메소드에 비해 루프가 친숙해 보입니까? 자, for-of 루프의 모습 아래 어떤 강력한 기능이 숨겨져 있는지 살펴보겠습니다. 지금은 다음 사항만 기억하세요.
이것은 배열 요소를 반복하는 가장 간결하고 간단한 구문입니다.
이 메서드는 for-in 루프의 모든 함정을 피합니다.
forEach()와 달리 break, continue 및 return 문에 올바르게 응답합니다.
for-in 루프는 객체 속성을 탐색하는 데 사용됩니다.
for-of 루프는 배열의 값과 같은 데이터를 반복하는 데 사용됩니다.
하지만 그것만이 아닙니다!
for-of 루프는 다른 컬렉션도 탐색할 수 있습니다.
for-of 루프는 배열을 지원할 뿐만 아니라 DOM NodeList 개체와 같은 대부분의 배열과 유사한 개체도 지원합니다.
for-of 루프는 문자열을 순회할 일련의 유니코드 문자로 처리하는 문자열 순회도 지원합니다.
for (var value of myArray) { console.log(value); }
Map 및 Set 객체 순회도 지원합니다.
$.map(array,function)
구문 분석: 배열의 각 요소에 대해 함수 함수를 호출하여 처리한 다음 결과를 반환하여 새 배열을 얻습니다.
예를 통한 설명: 배열의 각 요소에 2를 곱하고 새 배열을 반환합니다. 코드는 다음과 같습니다
<html> <head> <script type="text/javascript" src="jquery-1.8.2.min.js"></script> <script type="text/javascript"> var arr = [2,3,6]; var arr2 = $.map(arr,function(item){return item*2;}); for(var i=0,len=arr2.length;i<len;i++){ document.write(arr2[i]+"<br />");//结果为 4 6 12 } </script> </head> </html>
추가 설명: 항목은 각 요소를 나타냅니다. 이는 형식적인 매개변수이며 다른 항목으로 대체될 수 있습니다.
이 영상의 선생님은 생생하고 교실 분위기가 매우 활발하여 교실에서 학습에 대한 학생들의 열정을 충분히 동원할 수 있습니다. 강의는 세부 사항에주의를 기울이고 지식 포인트를 빠뜨리지 않고 작은 지식 포인트를 자세히 설명합니다.
코스웨어 소스 코드: http://www.php.cn/xiazai/code/1812
위 내용은 JavaScript 기본 사항 향상 비디오 튜토리얼 및 소스 코드 권장 사항의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!