본문 바로가기

코드스테이츠(Immersive)/체크포인트

Checkpoint 01, 03-JavaScript Scopes, Keyword 'this'

var x = 10;
function outer () {
  var x = 20;
  function inner () {
    x = x + 10;
    return x;
  }
  inner();
}

outer();

var result = x;

 

var x = 10;
function outer () {
  x = 20;
  function inner () {
    var x = x + 20;
    return x;
  }
  inner();
}

outer();

var result = x;

x = 20이라고 할당해준 부분에서 글로벌의 x가 20으로 변경, 

이후에 inner 함수에서 x값에 20더해준뒤 리턴

var x = 10;
function outer () {
  x = 20;
  function inner () {
    x = x + 20;
  }
  inner();
}

outer();

var result = x;

 

var x = 10;
var strangeAdd = function (y) {
  var x = 20;
  return this.x + y
};
result = strangeAdd(10);