전단 필 시험 문제 집계 (1)

6800 단어
제목 1: 통계 문자열 중 가장 많이 나타 난 문자
eg : var s = "abcdefghijklabcdaaaefadca" ; // 그 중 a 출현 횟수 가 가장 많 고 7 회
이 문 제 를 받 으 면 어떻게 할 까요?
먼저 나 는 두 가지 생각 이 떠 올 랐 다.
  • 폭력 검색, 하나의 요 소 를 꺼 내 고 순환 하 며 얻 은 횟수 를 json 키 쌍 에 넣 고 크기 비교
  • 하 나 를 찾 아 삭제 하고 정규 표현 식 으로 바 꾸 면 길이 의 차 이 는 중복 되 는 횟수
  • 입 니 다.
    폭력 찾기:
    var s = "abcdefghijklabcdaaaefadca";
    var json = {};
    var Max = {
        key:"",
        value:0
    };
    var arr = s.split("");
    for(var i=0;i Max.value){
            Max.key = prop;
            Max.value = json[prop]
        }
    }
    console.log(Max); //      
    

    정규 법:
    var s = "abcdefghijklabcdaaaefadca";
    //            
    var json = {};
    //               
    var Max = {
        key:"",
        value:0
    };
    //    ,           
    while(s){
        var len1 , len2;
        len1 = s.length;
        var first = s.charAt(0);
        s = s.replace(new RegExp(first,"g"),'');
        len2 = s.length;
        json[first] = len1-len2;
    }
    //    
    for(prop in json){
        if(json[prop] > Max.value){
            Max.key = prop;
            Max.value = json[prop]
        }
    }
    console.log(Max); //    
    

    이 문 제 는 또 하나의 좋 은 방법 이 있다.
    var s = "abcdefghijklabcdaaaefadca";
    var json = {};
    var Max = {
        key:"",
        value:0
    };
    for(var i=0;i Max.value){
            Max.key = prop;
            Max.value = json[prop]
        }
    }
    console.log(Max); //    
    
              O(n),        !
    

    제목 2: 아래 출력 값 구하 기
    function Show(){
        getName = function(){
            console.log(1);
        }
        return this;
    }; 
    Show.getName = function(){
        console.log(2);
    };
    Show.prototype.getName = function(){
        console.log(3);
    };
    var getName = function(){
        console.log("4");
    }
    function getName(){
        console.log(5);
    };
    
           :
    1、Show.getName();    
    2、getName();        
    3、Show().getName();   
    4、getName();          
    5、new Show.getName();  
    6、new Show().getName();  
    7、new new Show().getName();
    

    이 문 제 는 자 바스 크 립 트 의 기 초 를 고찰 한 것 이다.
    먼저 JS 실행 과정 을 알 아야 합 니 다.
  • 먼저 승급 (함 수 를 먼저 승급 하고 변 수 를 승급 합 니 다. 이름 이 같 으 면 변수 승급 은 함 수 를 덮어 씁 니 다)
  • 재 실행, 패 킷 생 성
  • 폐쇄 공간 에서 1 과 2 반복
  • 선 정의 (향상), 실행 중
  • 변수 증가
  • 함수 향상
  • 이 문제 의 해답 은 다음 과 같다.
  • 형 예 func.method( . ), , 발견 Show.getName() , 실행 방법 속성, 출력 2
  • JS 실행 과정 에 따라 getName(), getName , 변수 getName 이 동명 함 수 를 덮어 쓰 는 것 을 알 수 있 습 니 다. getName 결 과 는 '4'
  • 입 니 다.
  • 형 예 func().method() func() , func() method 라 는 뜻 이기 때문에 func () 반환 값 이 무엇 인지 먼저 알 아야 합 니까?return this; this ? ,func , this window, Show() 함수 가 실 행 된 후에 안에서 getName 의 정 의 를 바 꾸 었 기 때문에 window.getName() 출력 은 1
  • 입 니 다.
  • getName() 현재 환경 에서 window.getName() 와 같 고 수출 은 1
  • 이다.
  • new Show.getName() 쇼. getName () 출력 2 를 new 에서 실행 합 니 다
  • new Show().getName() new 키 워드 를 사 용 했 습 니 다. 함수 show 를 구조 기 로 생각 했 습 니 다. 이때 return 은 효과 가 없습니다. getName 은 구조 기 에 없습니다. 원형 대상 을 찾 아 3
  • 을 출력 합 니 다.
  • new new Show().getName() 은 바로 여섯 번 째 질문 을 바탕 으로 3 을 수출 한 후에 new 하나
  • 이다.
    javascript 모든 함 수 는 new func () 키 워드 를 사용 하여 대상 을 생 성 할 수 있 습 니 다.이 점 을 이해 하면 위의 것 을 이해 하 는 것 이 간단 하 다.
    Javascript 단순 개념
    1. javascript 의 type: of 는 어떤 데이터 형식 을 되 돌려 줍 니까?
  • object , number , function , boolean , undefind , string

  • 2. 배열 을 검사 하 는 몇 가지 방법 으로 obj 가 배열 형식 인지 확인 합 니 다.
  • Array.isArray(obj);
  • obj instanceof Array
  • arr.constructor.name
  • toString.call()

  • 3. 전통 적 인 이벤트 바 인 딩 과 W3C 기준 에 부합 되 는 이벤트 바 인 딩 은 어떤 차이 가 있 습 니까?
    전통 이벤트 귀속:
    123
    div1.onclick=function(){};
  • 같은 요소 에 두 번 또는 여러 번 같은 유형의 사건 을 연결 했다 면 뒤의 바 인 딩 은 앞의 바 인 딩
  • 을 덮어 씁 니 다.
  • DOM 이벤트 흐름 이벤트 캡 처 단계 è 목표 요소 단계 지원 하지 않 음 = > 이벤트 거품 단계
  • W3C 표준 에 맞 는 이벤트 바 인 딩 방식 addEventListener/attachEvent A, 비 IE 브 라 우 저: addEventListener
  • 같은 요소 에 두 번 또는 여러 번 같은 유형의 사건 을 연결 했다 면 바 인 딩 은 순서대로 실 행 됩 니 다
  • DOM 이벤트 흐름 을 지원 하 는
  • 이벤트 바 인 딩 을 진행 할 때 접두사 가 필요 하지 않 습 니 다
  • addEventListener(“click”,function(){},true);//이때 의 사건 은 사건 포획 단계 에서 집행 된다
  • 세 번 째 매개 변수: 캡 처 단계 에서 실행 되 는 지 여 부 를 나타 내 고 기본 값 은 false
  • 입 니 다.
  • ddEventListener(“click”,function(e){})
  • addEventListener ("click", function () {}, false) 이벤트 가 거품 단계 에서 실 행 됩 니 다
  • B, IE 브 라 우 저
  • ie9 시작, ie11 edge: addEventListener
  • ie9 이전 ie8: attachEvent / detachEvent
  • 이벤트 유형 전 참 을 진행 하려 면 접두사
  • 를 달 아야 합 니 다.
  • dom1.attachEvent(“onclick”,functioin(){}); 이 방식 은 이벤트 거품 만 지원 하고 이벤트 캡 처 는 지원 되 지 않 습 니 다
  • 4. 콜 과 apply 의 차이
    call 과 apply 의 공통점: 한 대상 에 속 하지 않 는 방법 으로 이 대상 을 실행 시 키 기 위해 서 입 니 다.
  • toString.call([],1,2,3)
  • toString.apply([],[1,2,3])
  • Object.call(this,obj1,obj2,obj3)
  • Object.apply(this,arguments)

  • 구별:
  • call 두 번 째 매개 변 수 는 매개 변수 목록 을 받 아들 이기 시작 합 니 다
  • apply 두 번 째 매개 변 수 는 매개 변수 배열 을 받 아들 이기 시작 합 니 다
  • 5. jQuery 프레임 워 크 에서 $. ajax () 의 상용 매개 변 수 는 어떤 것 이 있 습 니까?
  • type
  • 유형: String
  • 기본 값: "GET").요청 방식 ("POST" 또는 "GET") 은 기본적으로 "GET" 입 니 다.메모: PUT 와 DELETE 같은 다른 HTTP 요청 방법 도 사용 할 수 있 지만 일부 브 라 우 저 만 지원 합 니 다.

  • url
  • 유형: String
  • 기본 값: 현재 페이지 주소.요청 한 주 소 를 보 냅 니 다.
  • success
  • 유형: Function 요청 성공 후의 리 셋 함수.
  • 매개 변수: 서버 에서 되 돌아 오고 dataType 매개 변수 에 따라 처리 한 데이터;상 태 를 설명 하 는 문자열 입 니 다.이것 은 Ajax 사건 이다.
  • options
  • 유형: Object
  • 선택 가능.AJAX 설정 요청.모든 옵션 은 선택 할 수 있 습 니 다.
  • async
  • 유형: Boolean
  • 기본 값: true.기본 설정 에서 모든 요청 은 비동기 요청 입 니 다.동기 화 요청 을 보 내 려 면 이 옵션 을 false 로 설정 하 십시오.동기 화 요청 은 브 라 우 저 를 잠 그 고 사용자 의 다른 작업 은 요청 이 완료 되 기 를 기 다 려 야 실행 할 수 있 습 니 다.
  • beforeSend(XHR)
  • 유형: Function
  • 요청 을 보 내기 전에 사용자 정의 HTTP 헤드 를 추가 하 는 등 XML HttpRequest 대상 의 함 수 를 수정 할 수 있 습 니 다.XML HttpRequest 대상 은 유일한 인자 입 니 다.
  • 이것 은 Ajax 사건 이다.false 로 돌아 가면 이번 ajax 요청 을 취소 할 수 있 습 니 다
  • cache
  • 유형: Boolean
  • 기본 값: true, dataType 이 script 과 jsonp 일 때 기본 값 은 false 입 니 다.false 로 설정 하면 이 페이지 를 캐 시 하지 않 습 니 다.
  • 좋은 웹페이지 즐겨찾기