함수 연결 함수 연결 점 표기법을 사용하여 한 줄로 함수를 그룹화하는 것에 불과합니다. . 이러한 유형의 연결은 코드를 매우 간결하게 만들고 성능도 향상시킵니다. 여기에서 함수 연결을 배울 것입니다. 일반 개체 사용 a) 기능 연결 없이 다음 예에서 개체 obj가 생성되고 해당 개체에서 공개 속성 i라는 키워드는 this 키워드를 사용하여 생성됩니다. 초기에 값 0을 할당했습니다. 나중에 add(),subtract() 및 print()라는 사용자 정의 함수가 동일한 객체 obj 내부에 생성됩니다. 이제 obj 개체는 클래스
문자열의 일부를 가져오려면 string.substring() 메소드는 자바 스크립트에서 사용됩니다. 이 방법을 사용하면 특정 문자 앞이나 뒤에 있는 문자열의 모든 부분을 얻을 수 있습니다. str.substring() 이 메서드는 주어진 시작 인덱스(포함)에서 끝 인덱스(제외)까지 문자열을 슬라이스합니다. 인덱스가 하나만 제공되면 메서드는 인덱스 시작 부분에서 전체 문자열을 슬라이스합니다. 구문-1 이 코드 줄을 사용하여 특정 문자 뒤에 문자열의 일부를 가져올 수 있습니다. string.substring(string.ind
객체 리터럴을 사용하여 생성된 객체는 싱글톤입니다. , 이는 개체가 변경될 때 스크립트 전체에 영향을 미친다는 것을 의미합니다. 반면에 생성자 함수를 사용하여 개체를 만들고 변경한 경우 해당 변경 사항은 스크립트 전체에서 개체에 영향을 미치지 않습니다. 개별적으로 논의합시다. 1) 객체 리터럴을 사용하여 생성된 객체 싱글톤이기 때문에 , 개체에 대한 변경 사항은 스크립트 전체에서 지속됩니다. 한 인스턴스의 변경은 개체의 모든 인스턴스에 영향을 줍니다. 다음 예에서 관찰하면 두 개체 모두 student 및 newStudent
글로벌 네임스페이스 오염 글로벌 네임스페이스를 오염시키면 이름 충돌이 발생합니다. . 이 이름 충돌 여러 자바스크립트 를 사용할 수 있는 대규모 프로젝트에서 매우 일반적입니다. 도서관. 이름 충돌이 무엇인지 자세히 논의해 보겠습니다. 입니다. A1과 A2라는 두 팀이 프로젝트를 진행하고 있다고 가정해 보겠습니다. 둘 다 TeamA1.js인 자체 자바스크립트 파일을 준비했습니다. 및 TeamA2.js 아래와 같습니다. TeamA1.js TeamA1 학생 함수를 만들고 fname 및 lname(이름 및 성) 매개변수 2개가 있습
이벤트 버블링 이벤트 버블링 프로세스는 이벤트를 트리거한 요소에서 시작한 다음 계층 구조의 포함 요소까지 버블링됩니다. 브리핑 다음 예에는 3개의 요소 div가 있습니다. , 범위 및 버튼 . 계층 구조를 유지하려면 버튼 이 필요합니다. span 안에 중첩될 요소 요소 및 범위 div 안에 중첩될 요소 요소. 모든 요소에 클릭 이벤트를 할당하여 요소가 클릭되었을 때 예와 같이 경고 상자가 열리고 존경받는 메시지를 표시해야 합니다. 프로그램을 실행하면 아래와 같은 이미지가 화면에 실행됩니다. 요소가 클릭되면 자동으로
배열 병합 배열을 병합하는 것은 제공된 배열 내부에 있는 중첩 배열 그룹을 병합하는 것뿐입니다. 배열 병합은 두 가지 방법으로 수행할 수 있습니다. 1) concat.apply() 다음 예에는 요소 3,4,5 및 6을 포함하는 일부 중첩 배열이 있습니다. concat()을 사용하여 평면화한 후 방법은 1,2,3,4,5,6,9로 출력을 얻습니다. 예 <html> <body> <script> var arrays = [1,2,[3,4,[5,6]],9]; var merged = [].c
이벤트 캡처 이벤트 캡처 이벤트는 최상위 요소에서 대상 요소로 시작됩니다. 이벤트 버블링의 반대입니다. , 대상 요소에서 시작하여 최상위 요소로 이동합니다. 코드 정교화 다음 코드에서는 본문 섹션에서 세 개의 div 요소를 가져오고 스타일을 적용하여 중첩되도록 합니다. addEventListener를 사용하여 각 div 태그에 이벤트 핸들러 추가 (). 여기서 이벤트가 클릭인지 확인하십시오. 이벤트. addEventListener() 메소드는 3개의 매개변수를 허용합니다. a) 접근하려는 이벤트, 여기가 클릭 이벤트입니다
회문 회문(Palindrome)은 앞뒤로 읽는 단어, 구 또는 숫자입니다. 예를 들어 Malayalam, 부인, 간호사 실행 등 여기서는 영숫자 문자만 허용하는 정규식을 사용해야 합니다. \W는 작업을 쉽게 해주는 내장 정규식입니다. 제공된 문자열이 회문인지 여부를 확인하기 위해 따라야 할 몇 가지 단계가 있습니다. 따라야 할 단계 먼저 문자열의 모든 문자를 소문자로 변경해야 합니다. 나중에 영숫자가 아닌 값을 모두 제거해야 합니다. 이 작업은 \W라는 이름의 내장 정규식을 사용하거나 자체 정규식을 만들 수 있습니다. 영숫자
자바스크립트의 Title Case 문장 그것은 문장의 모든 단어의 첫 번째 요소를 대문자로 변환하고 다른 요소는 소문자로 유지하는 것입니다. 제공된 문자열(문장)에는 소문자 및 대문자 요소가 포함될 수 있습니다. 따라서 제공된 문자열의 Title Case에 대한 알고리즘이 필요합니다. 알고리즘 문장의 모든 단어를 개별적으로 나눕니다. 이 작업은 string.split()을 사용하여 수행할 수 있습니다. 방법. string.toLowerCase()를 사용하여 각 단어의 모든 요소를 소문자로 변환 방법. for 루프를 사용하여
삽입 정렬 배열을 정렬하는 매우 간단한 비교 정렬입니다. 비교 정렬 정렬하려는 현재 값을 배열의 다른 값과 비교합니다. 한 번에 하나의 항목으로 작동하며 필요한 정렬된 배열을 얻기 위해 각 항목을 올바른 위치에 반복적으로 배치합니다. 실제로 삽입 정렬은 힙 정렬과 같은 일부 고급 알고리즘만큼 효율적이지 않습니다. 또는 병합 정렬 . 큰 프로그램을 다룰 때는 최선의 선택이 아닙니다. 숨겨진 상수 값이 낮기 때문에 , 삽입 정렬은 작은 배열을 처리하는 동안 힙 또는 빠른 정렬과 같은 일부 고급 알고리즘보다 성능이 뛰어납니다. .
큰 문자열을 n 크기의 하위 문자열로 분할하는 두 가지 방법이 있습니다. 1) 기존 방식 이것은 for loop, concat, modulous 등과 같은 기존의 방법만 사용하는 순수한 논리 방법입니다. 이 방법은 미리 결정된 방법이기 때문에 정규식 방법만큼 정교하지 않습니다. 분할할 문자열의 청크 수는 코딩을 시작하기 전에 미리 결정되어야 합니다. 다음 예에서 tutorixtutorixtutorix 문자열은 3개의 하위 문자열로 나뉩니다. 예시 <html> <body> <script> va
ECMAScript 5는 객체 수정을 방지하기 위해 몇 가지 방법을 도입했습니다. 이러한 예방 조치는 아무도 실수로 또는 다른 방법으로 개체의 기능을 변경하지 못하도록 합니다. 예방 방법에는 3가지 수준이 있습니다. 1) 확장 프로그램 방지 이 수준에서는 새 속성이나 메서드를 추가할 수 없지만 기존 속성이나 메서드에 액세스할 수 있습니다. 여기에 해당 개체를 삭제하는 기능이 있습니다. Object.preventExtensions() 이 작업을 수행하는 데 사용되는 방법입니다. 새로운 속성이 개체에 추가되는 것을 방지합니다. 예시
열거할 수 없는 속성 개체는 Object.keys()를 사용하여 특정 개체를 반복할 때 표시되지 않는 속성을 가질 수 있습니다. 또는 ...에서 loop. 이러한 유형의 속성을 열거할 수 없음이라고 합니다. 속성. 열거할 수 없는 속성 만들기 열거할 수 없는 속성을 만들려면 Object.defineProperty()를 사용해야 합니다. 방법. 이것은 열거할 수 없는을 생성하는 특별한 방법입니다. 객체의 속성. 다음 예에서는 name, age, country 등 3개의 속성이 정상적으로 생성되었고 Object.definePro
자바스크립트 객체의 속성을 동적으로 병합하는 두 가지 방법이 있습니다. 그들은 1) Object.assign() Object.assign() 메서드는 하나 이상의 소스 개체에서 대상 개체로 모든 속성 값을 복사하는 데 사용됩니다. 대상 개체를 반환합니다. . 예시-1 <html> <body> <script> var target = { a: "ram", b: "rahim" }; var source = { c: "akbar", d: &
잊어버린 타이머/콜백 자바스크립트에는 setTimeout()과 setInterval()이라는 두 가지 타이밍 이벤트가 있습니다. 전자는 지정된 밀리초 동안 기다린 후 함수를 실행하는 반면, 후자는 주기적으로 함수를 실행합니다(특정 시간 간격마다 반복). 객체가 타이머 콜백에 연결되면 타임아웃이 발생할 때까지 해제되지 않습니다. 이 시나리오에서 타이머는 자체적으로 재설정되고 가비지 수집기가 메모리를 제거하는 것을 허용하지 않아 시간 초과가 완료될 때까지 영원히 실행됩니다. 이러한 타이머는 자바스크립트에서 가장 빈번한 메모리 누수
세트 Set은 ES6에서 제공하는 새로운 객체 유형입니다. 그것은 고유한 가치의 집합일 뿐입니다. 값은 문자열, 정수 등과 같은 단순한 기본 형식이거나 개체 리터럴이나 배열과 같은 복잡한 개체 유형일 수 있습니다. 구문 new Set([iterable]); 매개변수 반복 가능 요소가 새 집합에 추가되는 반복 가능한 개체입니다. iterable이 제공되지 않거나 null 값이 전달되는 경우 새 세트는 비어 있습니다. 예 집합은 고유한 값만 허용하므로 집합의 기존 요소 중 일부를 추가한 후 개체의 길이는 변경되지 않습니다.
빠른 정렬 빠른 정렬은 자바스크립트에서 가장 중요한 정렬 방법 중 하나입니다. 배열에서 피벗 값(임의 값)을 취합니다. 배열의 다른 모든 요소는 두 개의 범주로 분할됩니다. 이들은 피벗 값보다 작고 피벗 값보다 클 수 있습니다. 각 범주(피벗보다 작고 피벗보다 큼)는 동일한 절차를 거쳐 피벗이 선택되고 각 범주는 하위 범주(피벗보다 작음 및 피벗보다 큼)로 나뉩니다. . 결국 하위 범주는 요소를 포함하거나 비교할 요소가 더 이상 없는 경우 요소를 포함하지 않는 방식으로 나뉩니다. 나머지 값은 일부 이전 지점에서 피벗으로 표시되
폐쇄 자바스크립트의 강점 중 하나는 클로저입니다. Javascript는 함수 내부의 함수인 중첩 함수가 상위 함수의 변수에 액세스할 수 있도록 합니다. 내부 함수가 외부 함수의 변수에 접근하는 이러한 과정을 클로저라고 합니다. 선언된 변수가 내부 중첩 함수에서 자동으로 사용 가능하고 내부 중첩 함수에서 참조되지 않음에도 불구하고 메모리에 상주하면 메모리 누수가 발생합니다. 다음 예에서 childFunction은 parentFunction 외부 함수 내에 정의된 내부 함수입니다. 매개변수 outer val을 사용하여 parentF
Map과 WeakMap의 차이점 Map과 WeakMap의 기능적 메커니즘은 동일하지만 거의 차이가 없습니다. 1) WeakMap 지도 ,객체 외에도 문자열, 숫자 등과 같은 기본 데이터 유형을 허용합니다. 2) 위크맵 객체는 키처럼 작동하는 객체에 대한 참조가 없는 경우 가비지 수집을 방지하지 않습니다. 따라서 WeakMap에서 키를 검색하는 방법이 없습니다. , 반면 지도 키를 가져오는 Map.prototype.keys()와 같은 메서드가 있습니다. 3) WeakMap에 크기 속성이 없습니다. . 지도 문자열, 숫자
Mean.io와 Mean.js의 차이점 MEAN은 스택 프레임워크입니다. Mongodb, node.js, express.js 및 angular.js와 결합하면 완전한 자바스크립트 웹 앱을 만드는 데 도움이 됩니다. 이스라엘의 소프트웨어 개발자인 Amos Haviv는 Mean.io를 시작한 첫 번째 사람입니다. . Mean.js Mean.io에서 분기된 것입니다. 개발자가 이 두 가지 변형을 자세히 관찰하면 Mean.io Mean.js와 다른 목적을 가짐 . 유일한 이유는 Mean.io Mean.js만큼 우아하지 않습니다. .