배열에서 식별자 : 인덱스
자동화된 인덱스 순환구조
오브젝트의 식별자 : 키
obj[속성명]
for in 문으로 객체를 갖는 속성을 순환할 수있다.
항상 선언이 먼저 인식되고(stack에 올라감) 연산절차가 진행된다.
인터프리터 : 소스코드바로실행, 버추얼머신
컴파일러 : 소스코드번역해서 ->번역된결과물실행
모든객체에 속성을 마음대로 붙일 수있다.
앞에 아무것도 안붙이면 전역변수
var를 붙이면 지역변수가 되는데, 함수를 선언하고 그안에서 var로 선언해야 지역변수가 된다.
console.log(a);
var a = 1;하면
undefined가 나온다. 오류가 아니다.
선언이 되지않은걸 실행하면 오류가 날것같은데.. 오류가 아니고 undefined가 나온다.
- 선언한것은 코드가실행 되기전에 미리 stack에 올라간다.
- console.log(a)이후에 var a를 선언했어도 정의/선언된걸 먼저 찾기 때문이다. 이 후 연산이 진행된다.
- var a는 실행문장이 아니다.
var x 가 스택에 올라간다.
선언이 뒤에가있어도
코드실행시 선언된것이 먼저 캐치되서 준비되고, 연산이 실행된다.
window.가 생략된것
window객체의 변수 (this.처럼생략)
윈도우에 a를 추가한것으로 이해한것
- <script>는 전역영역
- window라는 전역객체가있다.
- 변수선언하지않고 a = 1;라고 쓰게되면, (window.)a = 1; 전역객체에다가 a속성을 정의 한것이다.
- alert도 window객체의 함수다. (window.)alert(a);
- 기본적으로 window객체를 기본적으로 활용하는 영역이기때문에 생략된다
자바와 비슷하다.
this에 a가있어.
지역변수에 a가있나 봤더니 a가 없어. - > this에 a가 있나 ? -> int a 있다 -> f1()에서 대입하고있는 3은 this의 a속성에 대입된다.
var를 붙이는것 : 지역변수선언
진짜지역을 갖고있는 블록이 존재하면 거기서 var를 붙이면 그 지역에서만 사용할 수 있는 변수가 만들어진다.
{ }를 안하면 선언헀던 안했던 전역변수가 된다.
자바스크립트에서 지역화는 없다.
함수지역만 가능하다. es 5버전
함수내에서 var를 붙이면 의미가 달라진다
'2021 Newlecture > Javascript' 카테고리의 다른 글
스크립트 작성 방식 / 변수명명규칙 /innerText/ getElementById(" ") /getElementsByClassName (0) | 2021.04.15 |
---|---|
confirm / 스크립트코드 작성영역 / onclick (0) | 2021.04.14 |
브라우저 플랫폼 / parseInt(문자열->정수) (0) | 2021.04.13 |
함수 / 지역화 / 지역변수 (0) | 2021.04.12 |
eval() / JSON Parse / ===참조비교 / for in (0) | 2021.04.08 |
splice() / slice() / indexof() / JSON생성방법 (0) | 2021.04.07 |
배열 / push/ pop / shift (0) | 2021.04.06 |
자바스크립트 (0) | 2021.04.05 |