Javascript 인터뷰 질문: 답변 및 코드 예제가 포함된 30개의 연습 질문

다음은 30개의 Javascript 인터뷰 질문이며 각각 답변과 코드 예제가 있습니다. 이러한 질문은 기본, DOM 조작, 이벤트 처리, 비동기 프로그래밍, 객체 지향 프로그래밍 등을 포함하여 Javascript의 모든 측면을 다룹니다.

  1. 자바스크립트란?

Javascript는 웹 브라우저에서 대화형 웹 애플리케이션을 작성하는 데 사용되는 스크립팅 언어입니다.

  1. 변수 선언은 어떻게 하나요?

변수는 var, let 또는 const 키워드를 사용하여 선언됩니다.

var x = 10;
let y = 20;
const z = 30;

  1. 함수를 만드는 방법?

function 키워드를 사용하여 함수를 만듭니다.

function add(x, y) {
    
    
  return x + y;
}

  1. 함수를 호출하는 방법?

함수 이름과 괄호를 사용하여 함수를 호출합니다.

var result = add(2, 3);

  1. DOM이란 무엇입니까?

DOM(Document Object Model)은 Javascript에서 HTML 및 XML 문서를 조작하기 위한 API입니다.

  1. 요소를 선택하는 방법?

document.getElementById(), document.getElementsByClassName(), document.getElementsByTagName() 또는 document.querySelector() 메서드를 사용하여 요소를 선택합니다.

var element = document.getElementById("myElement");
var elements = document.getElementsByClassName("myClass");
var elements = document.getElementsByTagName("p");
var element = document.querySelector("#myElement");

  1. 요소의 속성을 설정하는 방법은 무엇입니까?

element.setAttribute() 메서드를 사용하여 요소의 속성을 설정합니다.

var element = document.getElementById("myElement");
element.setAttribute("class", "newClass");

  1. DOM에 요소를 추가하는 방법은 무엇입니까?

document.createElement() , element.appendChild() 또는 element.insertBefore() 메서드를 사용하여 DOM에 요소를 추가합니다.

var element = document.createElement("div");
element.textContent = "Hello World";
document.body.appendChild(element);

  1. DOM에서 요소를 제거하는 방법은 무엇입니까?

element.parentNode.removeChild(element) 메서드를 사용하여 DOM에서 요소를 제거합니다.

var element = document.getElementById("myElement");
element.parentNode.removeChild(element);

  1. 이벤트란 무엇입니까?

이벤트는 마우스 클릭, 키 누름, 스크롤 등과 같이 HTML 요소에서 발생하는 동작입니다.

  1. 요소에 이벤트 핸들러를 추가하는 방법은 무엇입니까?

element.addEventListener() 메서드를 사용하여 요소에 이벤트 핸들러를 추가합니다.

var element = document.getElementById("myElement");
element.addEventListener("click", function() {
    
    
  alert("Hello World");
});

  1. 이벤트의 기본 동작을 방지하는 방법은 무엇입니까?

event.preventDefault() 메서드를 사용하여 이벤트의 기본 동작을 방지합니다.

var link = document.getElementById("myLink");
link.addEventListener("click", function(event) {
    
    
  event.preventDefault();
});

  1. 이벤트 버블링을 중지하는 방법은 무엇입니까?

event.stopPropagation() 메서드를 사용하여 이벤트 버블링을 중지합니다.

var element1 = document.getElementById("myElement1");
var element2 = document.getElementById("myElement2");
element1.addEventListener("click", function(event) {
    
    
  event.stopPropagation();
});
element2.addEventListener("click", function(event) {
    
    
  alert("Hello World");
});

  1. 폐쇄란 무엇입니까?

클로저는 상위 범위의 변수에 액세스할 수 있는 함수와 해당 범위의 조합입니다.

function outer() {
    
    
  var x = 10;
  function inner() {
    
    
    return x;
  }
  return inner;
}
var closure = outer();
var result = closure();

  1. 콜백 함수란?

콜백 함수는 다른 함수에 인수로 전달되어 해당 함수가 완료된 후 실행되는 함수입니다.

function add(x, y, callback) {
    
    
  var result = x + y;
  callback(result);
}
function displayResult(result) {
    
    
  console.log(result);
}
add(2, 3, displayResult);

  1. 비동기 프로그래밍이란 무엇입니까?

비동기 프로그래밍은 코드가 작업이 완료될 때까지 기다리지 않고 즉시 실행을 계속하는 프로그래밍 모델입니다.

  1. 비동기 프로그래밍에 콜백 함수를 사용하는 방법은 무엇입니까?

비동기 작업이 완료되면 콜백 함수를 핸들러로 사용합니다.

function loadScript(url, callback) {
    
    
  var script = document.createElement("script");
  script.src = url;
  script.onload = callback;
  document.head.appendChild(script);
}
loadScript("script.js", function() {
    
    
  console.log("Script loaded");
});

  1. 약속이란 무엇입니까?

약속은 비동기 작업의 결과를 처리하기 위한 비동기 프로그래밍 모델입니다.

var promise = new Promise(function(resolve, reject) {
    
    
  setTimeout(function() {
    
    
    resolve("Hello World");
  }, 1000);
});
promise.then(function(result) {
    
    
  console.log(result);
});

  1. 비동기/대기란 무엇입니까?

async/await는 비동기 작업의 결과를 처리하기 위한 비동기 프로그래밍 모델입니다.

async function loadData() {
    
    
  var response = await fetch("data.json");
  var data = await response.json();
  console.log(data);
}
loadData();

  1. 모듈이란 무엇입니까?

모듈은 관련 기능 집합을 포함하는 코드 단위이며 가져오기 및 내보내기 작업을 통해 다른 파일에서 재사용할 수 있습니다.

// module1.js
export function add(x, y) {
    
    
  return x + y;
}

// module2.js
import {
    
     add } from "./module1.js";
var result = add(2, 3);

```javascript

1. 什么是类?

类是一个模板,用于创建具有相似属性和行为的对象。

추천

출처blog.csdn.net/qq_27244301/article/details/130593022