>  기사  >  웹 프론트엔드  >  JavaScript 기본 사항 향상 비디오 튜토리얼 및 소스 코드 권장 사항

JavaScript 기본 사항 향상 비디오 튜토리얼 및 소스 코드 권장 사항

巴扎黑
巴扎黑원래의
2017-08-24 17:45:171351검색

JavaScript는 기본적으로 유형을 지원하는 동적 유형, 약한 유형의 프로토타입 기반 언어입니다. 해당 인터프리터는 브라우저의 일부이며 클라이언트측 스크립팅 언어에서 널리 사용되는 JavaScript 엔진이라고 합니다. 이는 HTML 웹 페이지에 동적 기능을 추가하기 위해 HTML(Standard Universal Markup Language의 응용 프로그램) 웹 페이지에서 처음 사용되었습니다. .

"JavaScript 기본 강화 비디오 튜토리얼"은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.