이 기사는 관심 있는 친구들이 볼 수 있도록 공유합니다.
1. JS는 한 번만 사전 컴파일됩니다.
var a; if (!(“a” in window)) { a = 1; }
alert(a) // 이런 식으로 제목은 의미는 매우 명확합니다. 먼저 a를 선언한 다음 a가 존재하는지 확인합니다. 존재하지 않으면 1을 할당합니다. a는 창에 항상 존재하므로 결과는 실행되지 않습니다. 정의되지 않았습니다.
2. 함수 선언은 변수 선언을 덮어쓰지만 변수 할당은 덮어쓰지 않습니다. 밤을 보자
function value(){ return 1; } alert(typeof value); //”function”
function value(){ return 1; } var value = 1; alert(typeof value); //”number”
얕은 복사는 기본 유형의 데이터만 복사하므로 해당 메모리 주소만 복사되므로 메타 개체가 변조될 가능성이 있습니다.
function copy(p) { let c = {}; for(let i in p) { c[i] = p[i]; } return c; }
var a; if (!(“a” in window)) { a = 1; } alert(a); // undefined
2. 함수 선언은 변수 선언을 덮어쓰지만 변수 할당은 덮어쓰지 않습니다. 밤을 보자
function value(){ return 1; } alert(typeof value); //”function”
function value(){ return 1; } var value = 1; alert(typeof value); //”number”
얕은 복사는 기본 유형의 데이터만 복사하므로 배열이나 객체의 경우 해당 메모리 주소만 복사되므로 메타 객체가 변조될 가능성이 있습니다.
function copy(p) { let c = {}; for(let i in p) { c[i] = p[i]; } return c; }
위 내용은 js-노트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!