학습 과정에서 과거에 삼킨 곳은 항상 반복해서 나타납니다. 다음은 오늘 배운 지식 포인트를 쉽게 볼 수 있도록 기록합니다.
JavaScript의 데이터 유형
단순 (기본) 데이터 유형 : 번호, 문자열, 부울, 정의되지 않은, null
복잡한 (참조) 데이터 유형 : 객체, 배열, 날짜, 함수 등
다음은 단순 (기본) 데이터 유형과 복잡한 (인용) 데이터 유형의 차이에 대한 설명입니다.
간단한 데이터 유형 : 아래 그림과 같이 스택에 직접 저장
복잡한 데이터 유형 : 아래 그림과 같이 스택에서 참조 저장
위의 두 데이터 유형의 스토리지 방법을 이해 한 후에는이 둘의 차이를 구별 할 수 있습니다. 다음 연습을 할 수 있습니다.
var a = 10; var b = a; // 질문 : A의 값을 변경할 때 B의 값은 A = 20을 변경합니다. Console.log (b); // 10
var s1 = new object (); var s2 = s1; // q : s1의 속성을 변경 한 후 S2의 동일한 속성이 s1.name = "mh"; console.log (s2.name); // MH
함수 f2 (arr) {arr = [9,8,7,6,5]; // 새 개체 생성 arr [0] = -10; } var array = [1,2,4,7,5]; F2 (배열); Console.log (배열 [0]); // 1JavaScript의 가변 프로모션, 기능 선언 및 가변 범위
먼저 다음 인터뷰 질문을 살펴 보겠습니다.
var num = 10; 재미있는(); function fun () {console.log (num); var num = 20; }배우기 전에 직접 대답 할 것입니다. 이제 JavaScript에서 선행 개념을 배우면 VAR 키워드와 기능의 선언 개념을 개선하는 개념을 알고 있습니다. 위의 코드는 다음 코드와 동일하다는 것을 알고 있습니다.
var num; // Global Scope Encounters var 및 기능 향상 기능 fun () {var num; // 로컬 사용자 만남 var console.log (num); num = 20; } num = 10; 재미있는();다음 질문을 살펴 보겠습니다.
// 질문 : 다음 오류가 나타나는 이유는 무엇입니까? // uncught TypeError : fnname은 함수 콘솔이 아닙니다. log (fnname (1,2)); var fnname = function (a, b) {return a + b; }위의 코드는 다음 코드와 같습니다.
var fnname; Console.log (fnname (1,2)); fnname = function (a, b) {return a + b; }함수가 동일한 부호의 오른쪽에 있기 때문에 VAR 만 올리며 "uncaught TypeError : fnname은 함수가 아닙니다"의 오류 가보고 될 것임을 알 수 있습니다.
변수의 범위를 이해하려면 다음 코드를 볼 수 있습니다.
f1 (); Console.log (C); Console.log (b); Console.log (a); 함수 f1 () {var a = b = c = 20; Console.log (C); Console.log (b); Console.log (a); }var a = b = c = 20;, 이러한 연속 할당의 경우, B와 C의 범위는 글로벌 범위입니다. 따라서 글로벌 범위에서만 A는 오류를 "끊임없는 참조 오류 : A가 정의되지 않았다"고 오류를보고합니다.
위의 기본 JS 에세이 (신인을위한 필수 기사)는 내가 당신과 공유하는 모든 내용입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.