클로저(개념정리X)

2020. 6. 30. 18:59·Javascript

 

var game = '리그오브레전드'

function login(id, pass) {
  var id = id
  var passWord = pass

  if(passWord == '몰라 알려줘') {
    findPassWord()
  } else {
    console.log('환영합니다') // 1 (로그인 성공시)
  }

  function findPassWord() {
    var findPassWord = '123123'
    console.log(`${game} '${id}'회원님의 비밀번호는 '${passWord}'가 아니라 ${findPassWord}입니다`) // 1 (로그인 실패시)
  }
  console.log('내가 입력한 id, pass 값') // 2
  console.log(id) // 3
  console.log(passWord) // 4
}
// 로그인 성공시
login('데프트', '123123')

// 1 - 환영합니다
// 2 - 내가 입력한 id, pass 값
// 3 - 데프트
// 4 - 123123

// 비밀번호를 모를시
login('데프트', '몰라 알려줘')

// 1 - 리그오브레전드 '데프트'회원님의 비밀번호는 '몰라 알려줘'가 아니라 123123 입니다
// 2 - 내가 입력한 id, pass 값
// 3 - 데프트
// 4 - 몰라 알려줘

스코프 데이터 접근

(데이터 상황)

(전역)
var game = '리그오브레전드'

(login함수)
var id = '데프트'
var passWord = '몰라 알려줘'

(findPassWord함수)
var findPassWord ='123123'

// 접근 할 수있는 변수
(전역)
var game = '리그오브레전드'

(login함수)
var game = '리그오브레전드'
var id = '데프트'
var passWord = '몰라 알려줘'

(findPassWord함수)
var game = '리그오브레전드'
var id = '데프트'
var passWord = '몰라 알려줘'
var findPassWord ='123123'

 

ex) (findPassWord함수)에서 game변수를 출력하려고 한다면

(findPassWord함수) -> (login함수) -> (전역) 순서로 찾는다

1. (findPassWord함수)에서 game 변수가 있는지 찾아보고 없다면

2. (login함수)에서 game 변수를 찾아보고 없다면

3. (전역)에서 game 변수를 찾았다

 

포함 관계는 전역 > login함수 > findPassWord함수 이지만

접근 관계는 반대이다

 

'Javascript' 카테고리의 다른 글

[Javascript] 객체와 변경불가성(Immutability)  (0) 2021.06.22
[Javascript] 객체  (0) 2021.06.21
[Javascript] 데이터 타입  (0) 2021.06.18
자잘한 용어 정리  (0) 2021.06.09
[Javascript] var, let, const 차이점  (0) 2021.02.15
'Javascript' 카테고리의 다른 글
  • [Javascript] 객체
  • [Javascript] 데이터 타입
  • 자잘한 용어 정리
  • [Javascript] var, let, const 차이점
꾸준2
꾸준2
  • 꾸준2
    꾸준2
    꾸준2
  • 전체
    오늘
    어제
    • 분류 전체보기 (157)
      • 복습 프로젝트 (3)
      • 어드민 프로젝트 (4)
      • 프로젝트 리팩토링 (4)
      • Database (0)
      • Java Library (2)
      • Java (4)
      • Java(JVM) (1)
      • 자바 문제 (13)
        • 이론 (6)
        • 실습 (7)
      • IDE (2)
        • IntelliJ (2)
      • 인강 (13)
        • SpringBoot(JPA활용1) (0)
        • 자바(기본편) (6)
        • 자바(중급1편) (3)
        • 자바(중급2편) (1)
        • 자바 ORM 표준 JPA 프로그래밍 - 기본편 (3)
      • Network (2)
      • Node (3)
      • CS (0)
      • amCharts4 (5)
      • 오류 모음 (4)
        • 리눅스 (1)
      • 기타지식 (2)
      • 자주 사용하는 기능 (4)
      • Vue (11)
      • Javascript (13)
      • Javascript-메서드 (3)
      • CSS (6)
      • 라이브러리 (4)
      • 자료구조 (11)
      • 알고리즘 (4)
      • Vue-프로젝트 (20)
      • Vue-bitcoin프로젝트 (6)
      • 블로그클론 프로젝트 (11)
      • 면접 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
꾸준2
클로저(개념정리X)
상단으로

티스토리툴바