2013년 6월 29일 토요일

Java Script (1)



* "use strict"; -- 브라우저에게 자바스크립트를 엄격하게 검사할 것을 요구

* 배경지식 
- 변수는 페이지 단위로 관리
- 글러벌 변수 = 그 페이지 내에서 어디서든 접근할 수 있는 변수.

* 변수와 자료형
- 변수 선언 : 데이터형을 선언하지 않는다. 
ex) var a;

a= 10; // Number데이터형
a= '홍길동'; // string 데이터형
a=true // boolean 데이터형
a=new Object() // Object 데이터형
a=function(){} // function 데이터형

(; <-- 을 굳이 붙이지 않아도 된다.)

- 출력 : 브라우저의 콘솔 창으로 출력할 수 있다.

* 바인딩 : 변수의 데이터형의 결정되는 것!
=> 값을 할당한 후 결정 된다.
ex) var b;
alert(b); ==> 결과 : undefined (바인딩이 안되어 있는 상태)

* 자료형 검사 : typeof();
-  변수의 데이터형 알아내기 : 바인딩 한 후 변수의 데이터형 확인 
ex) var b 
b = 10 
alert(typeof(b)); ==> 결과 : number

* 동적 바인딩(dynamic binding <> static binding ex) JAVA , C, C++, C#)
- 변수의 데이터형은 고정되어 있지 않다
- 값을 할당할 때 데이터형이 결정 되는 것.
- 가능한 변수의 용도를 결정했으면 그대로 사용.

* 이전의 자바스크립트 명세에서는 var을 선언하지 않고 만든 변수를 글로벌 변수로  설정  
  현재는 반드시 var을 붙여야 한다.
  
* 중복선언 가능 
- ex) var c = 10;
     alert(c);
     
     c= '홍길동'
     alert(c);
     
* window객체 : 브라우저에 미리 정의된 객체 , 브라우저의 정보를 다루는 객체
. 글로벌 변수나 함수를 포함하고 있다.
. 글로벌 변수는 모두 window 객체의 프로퍼티로 포함된다.
. 글로벌 함수도 또한 모두 window객체에 포함된다.

- ex) var a = 30;
 window.a = '홍길동'
 alert(a); ==> 결과 : 홍길동 // a 앞에 window 객체 레퍼런스가 생략된 것!
 alert(window.a); ==> 결과 : 홍길동
 
 
* prompt(), confirm()
- prompt()
ex) var v = prompt("이름이 뭐에요??") // 새로운 입력창이 뜬다. 결과를 쓰면 그게대한 새로운 창이 뜬다.
alert(v); 
 
- confirm()
ex) var v = confirm("당신은 비트 수강생입니까??")
   alert(v);
// confirm(".....")
// .... 안에 질문에 대해 확인을 누르면 true , 취소를 누르면 false 를 리턴한다.

* 배열 : [ , , , .....];
-ex) var names = ["홍길동", "임꺽정", "일지매"]
for( var i = 0; i < names.length; i++){
alert(names[i]);
}
 
==> 결과 : 홍길동 
 임꺽정
 일지매

* 자료형 null, undefined

* == 와 ==== 의 차이 
- var x1 = 20;
 car x2 = "20";
 
 // 암시적 형변환이 발생함.
 if(x1 == x2){  
  console.log("같다..");
 }
 
 // 암시적 형변환 없이 정확하게 데이터형과 값이 일치하는지 확인
 if(x1 === x2){ 
  console.log(" 같다..");
 }else{
  console.log(" 다르다..");
 }

 


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


댓글 없음:

댓글 쓰기