JavaScript 기본 개념 (연산 자, 구문, 함수)

5632 단어
조작 부 호 는 산술 조작 부호, 비트 조작 부호, 관계 조작 부호, 상등 조작 부 호 를 포함한다.조작 부 호 는 일반적으로 수치 형 에 사용 되 며, 수치 형 이 아니면 수치 형 으로 전환 되 며, 대상 은 먼저 valueOf() 을 호출 하여 계산 할 수 없 으 면 toString() 을 호출 합 니 다.
일원 조작 부호
한 값 만 조작 할 수 있 는 조작 부 호 를 일원 조작 부호 라 고 한다
체증 과 체감 조작 부호
선행 과 후 치 의 자체 증가 와 자체 감소 연산 자 ++ -- 은 비 계산 치 의 조작 예 를 들 지 않 았 다.
var s1 = "2"
var s2 = "z"
var b = false
var f = 1.1
var o = {
  valueOf:function(){
    return -1;
  }
}

s1++ //3
s2++ //NaN
b++ //1
f-- //0.100000000000009
o--//-2

일원 가감 조작 부호+ 은 수치 앞 에 놓 으 면 영향 을 주지 않 습 니 다. 비수 치 앞 에 놓 으 면 Number() 을 수치 - 으로 전환 하여 음 수 를 표시 하고 비수 치 앞 에 놓 으 면 Number() 을 수치 로 전환 합 니 다.
비트 연산 자ECMAScript 의 수 치 는 모두 64 비트 로 저장 되 지만 비트 연산 자 는 64 비트 값 을 직접 조작 하지 않 고 32 비트 로 전환 한 다음 에 계산 한 다음 에 64 비트 로 전환한다.기호 가 있 는 정수 에 대해 32 위 중 31 위 는 수 치 를 나타 내 고 32 위 는 기호 위 치 를 나타 내 며 0 은 양수 이 고 1 은 마이너스 이다.18 의 이 진 은 00000000000000000000000000010010 또는 10010 을 나타 낸다.음수 도 이 진 코드 로 표시 되 지만 음 수 는 패 치 를 사용한다.추가 코드 를 계산 하 는 절 차 는:
  • 수치 절대 치 를 구 하 는 바 이 너 리 코드
  • 구 할 수 있 는 바 이 너 리 코드
  • 리 코딩 플러스 1
  • -18 의 컴퓨터 바 이 너 리 가 절대 치 를 나타 내 는 바 이 너 리 코드 를 구 합 니 다. 0000 0000 0000 0000 0000 0000 0001 0010 의 반 코드: 1111 1111 1111 1111 1111 1111 1110 1101 에 1: 1111 1111 1111 1111 1111 1111 1110 1110 을 추가 하고 기호 정수 가 있 을 때 31 위 는 방문 할 수 없습니다. 31 위 는 32 위 기본 ECMAScript 에서 정 수 는 모두 기호 정수 가 있 습 니 다. 물론 부호 가 없 는 정수 도 있 고 기호 가 없 는 정수 가 모두 정수 이 며 범위 가 더욱 큽 니 다.64->32->64 이런 방식 의 처 리 는 부작용 을 초래 할 수 있다. NaNInfinity 응용 비트 조작 시 0 으로 처리 된다.(컴퓨터 에서 음수 의 표현법 과 관련 이 있 음) 2. 위치 에 따라 (AND) ~, 01, 10, 25-26, 위치 에 따라 또는 (OR) -26, 25&, 1&11, 1&00, 0&00 4, 위치 에 따라 다 르 거나 (XOR)| 은 똑 같이 0 이 고 반대로 15, 왼쪽 이동 1|1 이 며 왼쪽 이동 은 기호 위 치 를 옮 기지 않 고 왼쪽 이동 은 n 위 를 옮 기지 않 으 며 수 치 는 2 의 n 차방 6, 오른쪽 이동 1 이다. 이런 오른쪽 이동 도 기호 위 치 를 옮 기지 않 고 오른쪽 이동 n 위, 수치 축소 2 의 n 차방 7, 기호 오른쪽 이동 1|0 이다. 이런 오른쪽 이동 은 기호 위 치 를 옮 길 수 있다. 이 위 치 를 옮 기 는 조작 자 는 모두 0 으로 채 워 지기 때문에 마이너스 이다.수 (기호 위 치 는 1 로 표시) 기호 가 오른쪽으로 이동 하면 정수 가 되 고 기호 가 오른쪽으로 이동 할 수록 수치 가 커진다. 정수 기호 가 오른쪽으로 이동 하면 정상 적 인 오른쪽으로 이동 과 같다.
    불 연산 자
    논리 연산 자
    ... 이 아니다1, 0|00, ^<<, 임의의 유형 에 적용 할 수 있 으 며, 먼저 값 을 >> 유형 으로 변환 합 니 다. 전환 규칙 은 다음 과 같 습 니 다.

  • ... 과>>>, 진실 은 진실 이 고, 진 위 는 가짜 이 며, 가 짜 는 가짜 이다.
    혹시!, 진짜 와 가짜 가 진짜 이 고 가짜 가 가짜 입 니 다.
    승 성 조작 부호
    곱셈
    나눗셈
    모형 을 구하 다
    가성 조작 부호
    덧셈
    감법
    관계 조작 부호false 보다 작 으 면 true 보다 크 고 true 보다 작 으 면 false 과 같다.
    대등 조작 부호
    대등 과 불 등
    전등화 부전 등
    삼 목 연산 자boolean
    할당 연산 자
    쉼표 연산 자
    문장
    if 구문
    do - while 문장
    while 구문
    for 문장
    for-in
    label
    break continue
    with
    switch
    이상 의 물건 은 너무 번 거 로 우 니, 이후 에 천천히 보충 합 시다.
    함수.
    문법
    function    (   ){
       
    }
    

    함 수 는 반환 값 형식 을 지정 하지 않 아 도 && 으로 임 의 값 함수 예제 를 되 돌려 줄 수 있 습 니 다.
    function abc(a,b,c) {
        alert(a+b+c)
    }
    abc(1,2,3)
    

    return 만 쓰 고 값 을 쓰 지 않 으 면 || 으로 돌아 가 return 을 쓰 지 않 으 면 (, (>) 으로 돌아 갑 니 다.
    함수 매개 변수(>=) 함수 매개 변 수 는 하나의 배열 로 (<=) 이 라 고 합 니 다. 함수 호출 은 함수 정 의 를 완전히 따 르 지 않 아 도 되 고 여러 개의 매개 변 수 를 전달 할 수 있 으 며 그 어떠한 매개 변수 도 전달 하지 않 아 도 됩 니 다. ?: 은 배열 과 유사 할 뿐 아래 표 시 된 문법 을 지원 하기 때 문 입 니 다. 예 를 들 어 매개 변수 전송 순서에 따라 순서대로 값 을 추출 할 수 있 습 니 다. return, undefined, undefined, ECMAScript 을 사용 합 니 다.0 속성 은 매개 변수 개 수 를 확정 합 니 다.
    function abc(a,b,c) { 
      alert(arguments[0]+arguments[1]+arguments[2])
    }
    abc(1,2,3)
    

    함수 원형 에 따라 호출 하지 않 음
    function abc() { 
       alert(arguments[0]+arguments[1]+arguments[2])
    }
    abc(1,2,3)
    

    함수 가 리 셋 을 지원 하지 않 지만, 나 는 몇 가지 수단 을 사용 하여 함수 리 셋 을 실현 할 수 있다
    function doAdd() {
        if(arguments.length == 1){
            return arguments[0] 
         }else if(arguments.length == 2){
            return arguments[0] + arguments[1]   
         }else if(arguments.length == 3){  
            return arguments[0] + arguments[1] + arguments[2]
      }
    }
    alert(doAdd(1))
    alert(doAdd(1,2))
    alert(doAdd(1,2,3))
    

    arguments 의 값 과 매개 변수 이름 의 값 이 일치 합 니 다.
    function abc(a) {
        a = 100
        alert(arguments[0])
    }
    abc(1)
    
    function abc(a) {
        arguments[0] = 100
        alert(a)
    }
    abc(1)
    

    이것 은 argumentsarguments 메모리 가 한 부 라 는 것 이 아니 라 사실은 두 부 입 니 다. 다만 js 는 우리 에 게 이 두 값 을 일치 시 켜 주 었 습 니 다. 또한 높 은 거리 에서 파 라 메 터 를 수정 하면 arguments[0] 에 반영 되 지 않 을 것 이 라 고 말 했 습 니 다. 그러나 시험 을 통 해 이런 일 치 는 양 방향 입 니 다. arguments[1] 의 length 속성의 길 이 는 실제 전달 매개 변수 에 의 해 결정 되 는 것 이지 함수 정의 에 의 해 결정 되 는 것 이 아 닙 니 다.정 해 져 있 습 니 다. 입력 값 이 없 는 매개 변 수 는 자동 으로 arguments[2] 으로 대 입 됩 니 다. length 의 모든 매개 변 수 는 값 전달 이 고 인용 전달 이 없습니다. arguments 도 함수 재 업로드 가 지원 되 지 않 으 며 동명 함수 가 다음 에 복 개 됩 니 다.

    좋은 웹페이지 즐겨찾기