문법

|

- 변수선언
   var a
   변수형은 필요없이 그냥 var을 통해서 선언한다
   요즘은 굳이 var를 안해주고 바로 변수를 사용해도 된다.

- document.write()
   내용을 화면에 출력하는 명령어
   document.write("야근은 싫어요")
   내부에 HTML 태그를 적용시킬수있다
   document.write("<BR>")
   출력할것에 내부에 ' 가 있으면 "로 묶어주고 "가 있으면 '로 묵어준다

And

자바스크립트의 특징

|

- 역사
   넷스케이프가 사이트의 처리 능력을 높이기 위해 개발한언어
   후에 선마이크로 시스템사에서 제작한 자바의 기능을 결합하여 만듦

- 특징
   클라이언트쪽에서 즉석 확인처리가 가능
   실행방식 : 클라이언트에의해 소스자체가 인터프리트되어 실행
   코드위치 : HTML파일내에 존재
   변수선언 : 변수 타입선언이 필요 없음
   객체참조 : 동적바인딩 (실행시에 객체 참조가 체크됨)

- 구조
   <script>  </script> 로 되어있는 구조이다

- 주석문
   // 주석
   /*   */
   코드실행 생략부호 : <!--    //--> 버전이 맞지 않을경우 코드를 실행하지 않는다

- 자바스크립트를 실행못할경우
   <noscript>  </noscript>를 이용해서 자바스크립트를 실행할수 없을 경우 대신 보여줄 내용을 입력한다

- HTML 문서내에서의 위치
   <head> </head>또는 <body> </body> 사이에 위치한다. 보통 head사이에 입력하는것을 권장한다.
   이유는 사용자의 이벤트(각종 브라우저 환경의 변화, 입/출력 발생등)가 초기화되기 이전에 그 내용이 브라우
   저 시스템에의해 점검된다

- 스크립트가 길경우
   파일명.js 로 저장을한다
   <script language="javascript" src="파일명.js">

And

사전

|

- 기본정의
   member = {'a':1, 'b':2, 'c':3}
   키가 없으면 새로 생성되고 키가 이미 존재하고 있으면 변경된다.
   키는 변경불가능한 문자열, 숫자, 튜플 이여야하고 값은 임의의 객체이다

- dict() 를 이용해서 사전생성하기
   dict (one=1, two=2) -> {'one':1, 'two':2}
   dict ( [('one', 1), ('two', 2)]) -> (key,value)쌍으로부터 사전을 생성한다

- 일반적인사전에 값 설정
   d = {}
   d['a'] = 10
   d[(1,2,3)] = 9

- zip()을 이용한 사전생성
   keys =['1', '2', '3']
   values = (1,2,3,)
   zip (keys, values) -> [('1',1), ('2',2), ('3',3)]
   dict (zip (keys, values)) -> 사전생성

- 함수를 값으로 사용하기
   def add(a,b):
        return a+b
   def sub(a,b):
        return a-b
   action = {0:add, 1:sub}
   action[0](4.5) -> add(4,5)호출과 동일
   action[1](5,3) -> sub(5,3)호출과 동일

- 메쏘드
   L={'a':1, 'b':2}
   L.keys() -> ['a','b']
   L.values() -> [1,2]
   L.items() -> [('a',1), ('b', 2)]
   'a' in L -> True    (멤버십테스트)

   사전의 복사
   C = L (사전 레퍼런스 복사, 사전은 공유된다)
   C = L.copy() (별도의 사전객체가 생성된다)

   L.get('a') -> 'a'에대한 값을 얻는다. L['a']와 같지만 해당 key값없을때 에러가나지 않고 None을 반환한다
   L.get('a',1212) -> 'a'의 키가 없을경우  1212를 반환한다
   L.setdefault('a', 111) -> 'a'키를 꺼내되 없으면 111로 value를 설정하고 반환
   L.popitem() -> 한아이템을 꺼낸다
   L.pop('a') -> 'a'에대한 레이블을 꺼낸다 (반환값은 value값)
   L.update(ph) -> ph사전을 L사전에 추가한다
   L.clear() -> 사전의 모든 내용을 삭제한다

- 심볼테이블
   globals() : 모든 전역영역의 심볼테이블을 반환
   locals()   : 모든 지역영역의 심볼테이블을 반환

   모든 객체는 심볼테이블을 가지고 있다.
   예) class c:
            x = 10
            y = 10
         c.__dict__ -> {'x':10, 'y'=10, '__module__':'__main__', '__doc__': None}

- 사전 for문으로 참조하기
   for key in L.keys():
        print L[key]
 
   for key in L:  --> 2.2버전이상부터 사용가능
   for key, value L.items():

- 사전을 리스트로 반환해서 정렬하기
   L = {'one' :1, 'two':2, 'three':3}
   temp = L.items()
   temp.sort()
   temp -> [('one',1), ('three', 3), ('two', 2) ]

   숫자를 기준으로 정렬하기
    temp = L.items()
    temp.sort(key=lamda item:item[1])

    정렬된결과를 한번만 사용할때
    for key, value in sorted(L.items(), key=lamda item:item[1]):
         printf key, value
  

And