객체의 전체 복사는 복사하려는 객체 내에서 만나는 모든 객체를 복제합니다. 복사본과 원본 개체는 아무 것도 공유하지 않으므로 원본의 복사본이 됩니다. 가장 쉬운 방법은 객체를 JSON 문자열로 변환하고 다시 JS 객체로 변환하는 것입니다. 그러나 이 방법은 메서드 복사를 허용하지 않습니다. 예시 let obj = { foo: 1, bar: { baz: 'test' } } let newObj = JSON.parse(JSON.stringify(obj)); obj.bar.ba
이벤트 버블링은 한 요소가 두 번째 요소 내부에 중첩되고 두 요소가 동일한 이벤트(예:클릭)에 대한 리스너를 등록할 때 이벤트 핸들러가 호출되는 순서입니다. 버블링을 사용하면 이벤트가 먼저 가장 안쪽 요소에서 캡처되고 처리된 다음 바깥쪽 요소로 전파됩니다. 캡처를 사용하면 이벤트가 먼저 가장 바깥쪽 요소에 의해 캡처되고 내부 요소로 전파됩니다. 둘 다의 예를 살펴보겠습니다. 다음 두 예 모두에 대해 다음 HTML을 작성하십시오 - 예시 <div id='outer' style='background-co
Javascript 사양은 Array.sort 구현에 사용할 특정 알고리즘을 지정하지 않습니다. 이것은 구현자가 결정할 일입니다. 따라서 다른 JS 엔진은 다른 정렬 알고리즘을 사용합니다. Mozilla(Spider Monkey JS 엔진)는 mergeSort를 사용합니다. Mozilla 저장소에서 C로 작성된 코드를 볼 수 있습니다. https://dxr.mozilla.org/seamonkey/source/js/src/jsarray.c WebKit(Chrome, Safari 등)은 정렬 알고리즘을 직접 사용하지 않고 배열의 요
MDN에 따르면 화살표 함수 표현식은 this, arguments, super 또는 new.target 키워드에 대한 자체 바인딩이 없지만 구문상 일반 함수 표현식의 대안입니다. 화살표 함수 표현식은 메서드로 적합하지 않으며 생성자로 사용할 수 없습니다. 자바스크립트의 일반 함수와 화살표 함수에는 3가지 미묘한 차이점이 있습니다. 이 바인딩을 소유하지 않음 화살표 함수에는 고유한 이 값이 없습니다. 화살표 함수 내부의 this 값은 항상 둘러싸는 범위에서 상속됩니다. 예시 this.a = 100; let arrowFunc = (
변환 문자열 정수 로 parseInt() 함수는 자바스크립트에서 사용됩니다. . parseInt() 함수는 Nan을 반환합니다. (숫자가 아님) 문자열에 숫자가 포함되지 않은 경우. 숫자가 있는 문자열이 전송되면 해당 숫자만 출력으로 반환됩니다. 이 함수는 공백을 허용하지 않습니다. 공백이 있는 특정 숫자가 전송되면 공백 앞에 있는 숫자의 일부가 출력으로 반환됩니다. 구문 parseInt(value); 이 함수는 문자열 을 사용합니다. 및 전환 그것을 정수로. 문자열에 정수가 없으면 NaN 출력이 됩니다. 예시 다음 예에서
기존 개체에 액세스할 수 있습니다. t Object.create()라는 자바스크립트 메소드를 사용하여 자체 프로토타입을 생성 . 이 방법을 사용하면 기존 속성에서 새로 생성된 프로토타입으로 속성을 상속할 수 있습니다. 간단히 설명하겠습니다. 구문 Object.create(existing obj); 이 메서드는 기존 개체를 사용하고 속성이 상속되도록 자체 프로토타입을 만듭니다. 기존 개체에서 새로 생성된 프로토타입으로 . 예시 다음 예에서는 처음에 사람이라는 개체가 가 생성되고 Object.create를 사용하여 자체 프로토타입이
대부분의 경우 일반적으로 for for...in 대신 루프 루프 때문에 for...in 루프 결과는 색인 일반적인 for 루프는 값을 표시하고 나머지 인덱스에는 undefined라는 값이 실행되어 개발자가 코드를 작성하는 동안 혼동하지 않도록 합니다. 구문-1 for (var x in array) { // code }; 위 코드는 for...in의 구문입니다. 루프. 구문-2 for () { // code }; 위의 구문은 일반적인 for 루프. 예시-1 다음 예에서 처음에는 배열 num 는 5자리(0-4의 인덱스)만
\w 대 \W 사이에 많은 변형이 있습니다. \w 및 \W 자바스크립트 전자가 단어 문자 는 영숫자와 같은 반면 후자는 단어가 아닌 문자를 처리합니다. 와 같은 &, ^, % 등. 간단히 이야기합시다. 구문-1 new RegExp("\\w", "g"); 위 코드는 단어 문자를 찾는 구문을 제공합니다. 자바스크립트에서. 구문-2 new RegExp("\\W", "g"); 위 코드는 비단어 문자를 찾는 구문을 제공합니다. 자바스크립트에서. 예시-1
\d 대 \D \d와 \D 사이에는 많은 차이가 있습니다. 전자의 결과는 숫자 입니다. 후자는 숫자 아님이 됩니다. e,^ 등과 같이 전역 개체와 함께 사용됩니다. 그 텍스트 전체의 모든 숫자와 숫자가 아닌 숫자가 출력에 표시되도록 합니다. 자세히 설명하겠습니다. 구문-1 new RegExp("\\d", "g"); 구문-2 new RegExp("\\D", "g") 예시-1 다음 예에서 \d 는 전역 개체 g와 함께 사용됩니다. 제공된 텍스트에서 모든 숫
일반 함수와 화살표 함수 화살표 기능 코드를 간결하게 작성하는 데 사용됩니다. 두 기능 모두 일반 및 화살표 비슷한 방식으로 작동하지만 그들 사이에는 몇 가지 차이점이 있습니다. 이러한 차이점에 대해 간단히 논의해 보겠습니다. 화살표 함수의 구문 let x = (params) => { // code }; 일반 함수의 구문 let x = function functionname(params){ // code }; 이 키워드의 사용 화살표 기능에서는 this 키워드를 사용할 수 없지만 일반 기능에서는 방해 없이 사용할 수
간단한 html 양식에서 양식 요소는 내부적으로 가치를 유지하고 양식 제출 버튼에 제출합니다. 예시 <!DOCTYPE html> <html> <head> <title>Form Example</title> </head> <body> <form> <label> User Name: <input type="text" name
자바스크립트는 가치에 의한 전달 언어입니다. 그러나 객체의 경우 값은 참조입니다. 따라서 예를 들어 int를 매개변수로 함수에 전달하고 함수에서 해당 값을 증가시키면 해당 값은 호출자의 컨텍스트에서 업데이트되지 않습니다 - 예시 let i = 0; function increment(x) { x = x + 1 console.log(x) } increment(i) console.log(i) 출력 1 0 객체를 전달하고 함수 컨텍스트에서 해당 객체의 참조를 업데이트하면 객체에 영향을 미치지
병합 정렬은 분할 정복 기법을 기반으로 한 정렬 기법입니다. 최악의 경우 시간 복잡도는 Ο(n log n)입니다. 그러나 이 알고리즘은 추가 O(n) 메모리를 사용하므로 공간 측면에서 추가 비용이 발생합니다. 이제 이 알고리즘을 구현하는 방법을 살펴보겠습니다. mergeSort 및 merge라는 2개의 함수를 생성하겠습니다. 병합 - 이 함수는 2개의 인수를 취하며, 이는 2개의 부분 배열이며 올바른 순서로 요소를 삽입하여 하나로 연결합니다. 병합 정렬 - 이 함수는 배열의 왼쪽과 오른쪽 절반에서 mergeSort를 재귀적으로
기수 정렬 알고리즘은 숫자의 유효 숫자 또는 값(기수)을 기반으로 정수를 버킷에 배포합니다. 기수는 배열 값의 숫자 체계를 기반으로 합니다. 구현 방법을 살펴보겠습니다 − 예시 function radixSort(arr) { // Find the max number and multiply it by 10 to get a number // with no. of digits of max + 1 const maxNum = Math.max(...arr) * 10; &nbs
최초 얻기 및 마지막 하위 노드 특정 노드의 자바스크립트가 firstChild 를 제공했습니다. 및 lastChild 방법을 각각. 간단히 논의해 보겠습니다. 첫 번째 자녀 구문 node.firstChild; 예시 다음 예에서는 목록 노드에 세 개의 요소가 있습니다. firstChild 메서드 사용 첫 번째 요소가 발견되고 결과가 출력에 표시됩니다. <html> <body> <ul id = "list"><li>Tesla</li><li>Spac
getElementById getElementById() DOM 메소드 지정된 값을 가진 ID 속성이 있는 요소를 반환하는 데 사용됩니다. 이것은 HTML DOM에서 가장 일반적인 방법 중 하나입니다. 문서의 요소를 조작할 때마다 거의 사용됩니다. 이 메소드는 null 을 반환합니다. 지정된 ID를 가진 요소가 없는 경우. ID는 페이지 내에서 고유해야 합니다. 그러나 지정된 ID를 가진 요소가 두 개 이상 존재할 경우 자바스크립트 코드의 마지막 요소를 반환합니다. 예시-1 다음 예에는 내부 텍스트가 GetElementB
자바스크립트 배열은 인덱스가 0입니다. 이것은 첫 번째 요소가 0번째 위치에 있음을 의미합니다. 마지막 요소는 배열 길이 - 1번째 위치에 있습니다. 따라서 −를 사용하여 이러한 요소에 액세스할 수 있습니다. 예시 arr[0] // First element arr[arr.length - 1] // last element For example, let arr = [1, 'test', {}, 'hello'] console.log(arr[0]) console.log(arr[arr.length - 1]) 출력
배열은 요소 그룹입니다. 각 요소에는 고유한색인 값이 있습니다. . 이러한 색인을 사용하여 모든 요소에 액세스할 수 있습니다. . 그러나 마지막 요소의 경우 배열에 있는 요소의 수를 알 때까지 인덱스를 알 수 없습니다. 이 경우 논리를 사용해야 합니다. 이러한 세부 사항에 대해 간단히 논의해 보겠습니다. 첫 번째 요소에 액세스 첫 번째 요소의 인덱스를 알고 있기 때문에 해당 요소의 값을 매우 쉽게 얻을 수 있습니다. 배열을 arr로 설정 . 첫 번째 요소의 값은 arr[0]입니다. . 예시 다음 예에는 array1 및 array2
weakMap.has() 이 메소드는 요소가 weakMap에 있는지 여부를 찾는 데 사용됩니다. 이 메소드는 부울 을 반환합니다. 지정된 키가 있는 요소인지 여부를 나타냅니다. WeakMap 개체에 존재 . 요소가 있는 경우 true else false 출력으로 실행됩니다. 출력으로 표시됩니다. 구문 weakMap.has(obj); 개체 를 취합니다. 매개변수 로 해당 개체가 있는지 여부를 조사하여 부울 개체의 존재 여부에 따라 출력됩니다. 예시 다음 예에서 처음에는 weakMap new 키워드. 나중에 두 개체 obj
짝수 자리의 번호에 액세스하려면 , 숫자를 반복하는 대신 장소 를 반복합니다. 즉, 색인 . 숫자를 반복하면 짝수 자리에 있는 요소가 아닌 다른 숫자에 액세스할 수 있습니다. 예시 다음 예에서 for 루프 모든 위치를 반복하는 데 사용되며 빈 문자열은 짝수 자리 값에 액세스하는 데 사용됩니다. . 조건문 if 위치가 짝수인지 여부를 확인하는 데 사용됩니다. 임의의 위치가 짝수이면 해당 위치에 해당하는 값은 빈 문자열을 통해 액세스되고 출력에 표시된 대로 표시됩니다. <html> <body> <scrip