ES6 선언 변수

ES6 선언 변수

ES6는하자 및 변수를 정의하는 CONST 키워드를 추가 :

  • var: 및 ES5 ES6 의미에서, 전역 변수 (가변 단편)을 정의하는데 사용될 수있다
  • let다음 대안 적으로, (정의 같은 범위를 반복 할 수 없다)하게, 로컬 변수를 정의
  • const: 정의 상수 (나중에 수정 될 수없는 정의 됨)

VAR : 전역 변수

// 全局作用域
{
    // 局部作用域
    var x = 1;
}
console.log(x); // ?

로컬 변수 범위뿐만 출력 문에서 전역 변수에, 로컬 변수로 선언 X, 이번에는 출력이 정의보다는 1

// 全局作用域
var x = 1;
{
    // 局部作用域
    var x = 2;
}
console.log(x); // ?

그런 다음, 출력 (2)이고, X의 VAR 글로벌 변수로 선언 때문에 간단한 이유는

요약 : VAR는 전역 변수를 오염시킬 것이다, 전역 변수가 될 것이다 변수를 선언하는 키워드

상단의 위로 목차

하자 지역 변수

// 全局作用域
var x = 1;
{
    // 局部作用域
    let x = 2;
}
console.log(x); // ?

그리고 출력은하자의 로컬 변수를 선언하기 때문에, 로컬 범위에서만 유효, 전역 변수 X에 영향을 미치지 않습니다, 1

// 全局作用域
var x = 1;
{
    // 局部作用域
    let x = 2;
}
console.log(x); // ?
// 全局作用域
var x = 1;
{
    console.log(x) // Cannot access 'x' before initialization
    // 局部作用域
    let x = 2;
}

얼굴 질문 : 다음의 출력은 무엇입니까? 0,1,2,3,4 ... buttons.length를 출력하는 방법

var buttons = document.getElementsByTagName("button");
for(var i = 0;i < buttons.length;i++){
    buttons[i].onclick = function(){
        console.log(i);
    }
}

인쇄 buttons.length 시간 buttons.length, 솔루션

var buttons = document.getElementsByTagName("button");
for(var i = 0;i < buttons.length;i++){
    (function(i){
        buttons[i].onclick = function(){
            console.log(i);
        }
    })(i);
}

var buttons = document.getElementsByTagName("button");
for(let i = 0;i < buttons.length;i++){
    buttons[i].onclick = function(){
        console.log(i);
    }
}
  1. 변수는 전역 변수가 오염 발생하지 않습니다 문 창에 매달려되지하자
  2. 블록 레벨의 범위를 {} 추가, 이전에는 기능 범위, 글로벌 범위
  3. 하자 문은 반복 할 수 없습니다
  4. 사전에는 문을주지 (만 효과 사람들이 볼 수 사실, 앞서 임시 데드 존의 사전에 문이있다 : 초기화 이전에 액세스 할 수없는 'X') 인터뷰 포인트

상단의 위로 목차

CONST : 정수

// 全局作用域
const x = 1;
{
   
    // 局部作用域
    const x = 2;
}
 console.log(x) // 1
// 全局作用域
const x = 1;
{
    console.log(x) // Uncaught ReferenceError: Cannot access 'x' before initialization
    // 局部作用域
    const x = 2;
}
// 全局作用域
const x = 1;
{
    console.log(x) // Uncaught TypeError: Assignment to constant variable.
    const x = 2;
}
  1. CONST 변수 선언은 전역 변수 오염 발생하지 않습니다, 창에 끊지 않습니다
  2. CONST는 성명을 반복 할 수 없습니다
  3. 사전에 아무 문에서 const 없습니다 (단 효과 사람들이 볼 수 사실, 앞서 임시 데드 존의 사전에 문이있다 : 초기화 이전에 액세스 할 수없는 'NUM') 인터뷰 포인트
  4. const를 수정할 수 없습니다, 메모리 주소 공간을 변경할 수 없습니다
  5. const를 선언 한 번만 할당을 완료해야하며, 후자는 저장 공간의 주소를 변경할 수 없습니다
  6. const를 만들 사용할 수 있습니다
  7. CONST, 당신은하자로 사용할 수 없습니다. 상수 효율은 변수보다 높다

상단의 위로 목차

게시 43 개 원래 기사 · 원의 찬양 3 · 조회수 1123

추천

출처blog.csdn.net/qq_45007419/article/details/104878937