JavaScript에 대해서 아셔야 할 11가지.

6534 단어

1.null과 미정의
정의되지 않음undefined은 변수 값이 정의되지 않았음을 나타낸다.JavaScript에는 정의되지 않은 글로벌 변수가 있으며 값은 정의되지 않음이며 typeof undefined은 정의되지 않음입니다.undefined는 상수나 키워드가 아니라는 것을 기억하십시오.undefined는 하나의 값만 있는 형식입니다: undefined.새 값을 지정하더라도 정의되지 않은 유형의 값은 변경되지 않습니다.
정의되지 않은 8가지 방법:
  • 의 성명 변수입니다. 값을 부여하지 않습니다.
  • 은return문장이 부족하여 함수의 은식 반환을 초래했다.
  • 은 어떤 내용의 반환문도 현시적으로 반환하지 않습니다.
  • 객체에 없는 속성을 찾습니다.
  • 아직 전달되지 않은 함수 매개 변수.
  • 은 정의되지 않은 값의 내용으로 설정됩니다.
  • 어떠한 잘못된 형식의 표현(표현)
  • 글로벌 변수에 정의되지 않은 값
  • 무효이었어null은 빈 값이나 존재하지 않는 값을 표시하고, 프로그램원은 그것을 사용하여 '무값' 을 표시한다.null은 기본값으로 변수에 null을 부여할 수 있습니다.null은 대상이 아닙니다. 기본값입니다.예를 들어, 속성을 추가할 수 없습니다.typeofnull이'object'로 되돌아오기 때문에 사람들이 그것을 대상으로 잘못 생각할 때가 있습니다.

    2.==Vs===
    가장 간단한 말은 ==은 유형을 검사하지 않고, ===은 양측이 같은 유형인지 검사한다.따라서 ==pe는 둘 다 같은 유형에 놓고 비교한다.=== 비교 유형과 값.그래서 만약 쌍방이 같은 유형이 아니라면 답은 항상 틀렸다.예를 들어 두 문자열을 비교하려면 같은 문자 집합을 가져야 한다.다른 원어(숫자, 부울 값)에서는 동일한 값을 공유해야 합니다.
    스텔스 강제 규칙: ==을 사용하여 비교하면 백엔드에서 스텔스 유형 전환을 할 수 있다.잠재적 협박의 규칙은 다음과 같다-
  • 두 작업 수가 같으면 ===
  • 정의되지 않음 ==
  • 문자열과 숫자가 다른 경우 문자열을 숫자
  • 으로 변환
  • 하나는 부울 값이고 다른 하나는 비부울 값이면 부울 값을 숫자로 변환한 다음 비교
  • 은 문자열이나 숫자를 대상과 비교할 때 대상을 기본 형식으로 변환한 다음
  • 을 비교하려고 한다

    3. 진위
    지금 나는 어떤 것이 정확하고 어떤 것이 틀렸는지 토론할 것이다
  • 'False'이것은 문자열이기 때문에 사실입니다.빈 문자열만 false
  • ' '은 빈 문자열이 아니기 때문에 사실입니다.안에 공백이 하나 있다.
  • {} 진짜예요.이것은 물체다.아무런 속성도 없는 대상은 진짜 대상이 될 것이다.
  • []도 사실이다.이것은 하나의 수조 대상이다. (수조는 대상의 하위 대상) 은 진실이다.
  • '' 문자열만
  • 변수 값이 정의되지 않은 값을 나타내는 경우그러면 이 정의도 잘못된
  • 입니다.
  • 모든 정수치는 진실이지만 0은 가짜입니다.
  • 변수가 기본적으로 정의되지 않으면 이 값은false입니다.

  • 4. 이것
    JavaScript는 각 함수를 실행할 때 현재 실행 컨텍스트를 참조하는 this라는 함수에 대한 속성을 설정합니다.이것은 항상 대상을 가리키며 함수의 호출 방식에 달려 있다.서로 다른 상황에서 이런 가치는 변화를 일으킬 수 있다.
  • 은 전역 상하문이나 함수 내부에서 창의 대상을 가리킨다.
  • 이 대상의 상하문에서 함수를 실행할 때 이 대상은 이
  • 의 값이 된다
  • 은 setTimeout 함수에서 이 값이 창의 대상입니다.
  • 구조 함수 (new 키워드 사용) 를 사용하여 대상을 만들면 그 값은 새로 만든 대상을 인용합니다.
  • 은 대상을bind,call 또는 apply
  • 의 첫 번째 매개 변수로 전달함으로써 그 값을 임의의 대상으로 설정할 수 있다
  • dom 이벤트 처리 프로그램에 대해 그 값은 이벤트를 촉발하는
  • 의 요소가 될 것이다

    5.범위
    역할 영역은 실행할 때 코드의 특정 부분의 변수, 함수와 대상에 대한 접근성이다.다시 말하면 범위는 변수와 기타 자원이 코드 영역에서의 가시성을 결정한다.
    JavaScript 언어에는
  • 글로벌
  • 부분 범위

  • 6. 글로벌 범위
    // the scope is by default global
    var name = 'Chayan';
    
    전역 범위 내의 변수는 다른 범위 내에서 접근하고 변경할 수 있습니다.
    var name = Chayan;
    
    console.log(name); // logs Chayan
    
    function logName() {
        console.log(name); // 'name' is accessible here and everywhere else
    }
    
    logName(); // logs Chayan
    

    7. 부분 범위
    함수에 정의된 변수는 국부 범위 내에 있다.그것들은 이 함수의 매번 호출에 대해 서로 다른 작용역을 가지고 있다.이것은 같은 이름을 가진 변수가 서로 다른 함수에서 사용할 수 있다는 것을 의미한다.이것은 이러한 변수가 각자의 함수에 귀속되어 있고 함수마다 서로 다른 작용역이 있기 때문에 다른 함수에 접근할 수 없기 때문이다.

    8.블록범위
    함수와 달리 if와 switch 조건이나 for와while 순환 등 블록 문장은 새로운 역할 영역을 만들지 않습니다.Block 문장에 정의된 변수는 이미 존재하는 범위 내에 보존됩니다.
    if (true) {
        // this 'if' conditional block doesn't create a new scope
        var name = Chayan; // name is still in the global scope
    }
    
    console.log(name); // logs Chanyan
    

    9. 귀속, 호출과 응용 사이의 차이
    call()과 apply() 방법 사이에 혼동이 생기는 주요 원인은 이것을 제외한 다른 매개 변수를 어떻게 전달하는가이다.우리는 왜 bind()를 사용해야 합니까?
    이 세 가지를 쉽게 구분하는 법을 배워보자.
    적용()apply(this [, [arg1, arg2,...]]): 제공된 이 값을 사용하여 함수를 호출합니다.더 많은 매개 변수는 하나의 그룹으로 제공됩니다.

    Way to remember: “Apply accepts arguments as an Array” or “AA”


    전화()call(this [, arg1, arg2...]): 제공된 함수 호출 함수를 사용합니다.추가 매개 변수는 쉼표로 구분된 목록 형식으로 제공된다

    Ways to remember: “Call’s arguments are separated by commas” or “CC”.


    바인딩()bind(this): 새 함수를 되돌려줍니다. 이 함수의 이 값은 제공된 값에 귀속됩니다.

    Ways to remember: bind() is the only method out of the three that returns a new function altogether. It does not call the function.



    10. JavaScript 클립
    클로징은 JavaScript의 중요한 개념입니다.이것은 광범위하게 토론되었지만 여전히 혼동된 개념이다.끝이 뭔지 알아봅시다.
    패킷을 닫는 것은 내부 함수가 외부 함수의 변수와 파라미터에 항상 접근할 수 있음을 의미하며, 외부 함수가 되돌아온 후에도 마찬가지다.내부 함수는 외부 함수의 변수와 파라미터에 접근할 수 있다.아래의 예를 고려하다.
    function OuterFunction() { 
    var outerVariable = 1;
     function InnerFunction() { 
    alert(outerVariable); 
    } 
    InnerFunction();
     }
    
    이 예에서 InnerFunction()은 outerVariable에 액세스할 수 있습니다.
    현재, 위의 정의에 따라 InnerFunction () 은 단독으로 실행되더라도 outerVariable에 접근할 수 있습니다.아래의 예를 고려하다.
     function OuterFunction() {
     var outerVariable = 100;
     function InnerFunction() {
     alert(outerVariable);
     }
     return InnerFunction;
     }
     var innerFunc = OuterFunction(); 
    innerFunc(); // 100
    
    위의 예에서 OuterFunction()을 호출하면 return InnerFunction;이 OuterFunction에서 InnerFunction으로 돌아갑니다.변수 innerFunc은 OuterFunction() 대신 InnerFunction()만 참조합니다.현재 innerFunc () 를 호출할 때, OuterFunction () 에서 설명한 outerVariable에 접근할 수 있습니다.이것은 폐쇄라고 한다.

    11. 포장
    포장은 정보의 숨김을 의미한다.대상의 내부 부분을 최대한 많이 숨기고 최소한의 공공 인터페이스를 공개하는 것이다.
    JavaScript에서 패키지를 만드는 가장 쉽고 우아한 방법은 클립을 사용하는 것입니다.패킷을 닫으면 개인 상태를 가진 함수로 만들 수 있습니다.같은 사유 상태를 공유하는 여러 개의 클립을 만들 때, 우리는 대상을 만듭니다.

    좋은 웹페이지 즐겨찾기