Lang:简体中文

js基础面试题及答案

日期:2025-09-08 / 来源:面试宝典

涵盖基础概念、语法及应用的面试问答

在javascript面试中,基础问题是考察候选人对语言掌握程度的重要环节。下面为大家整理一些常见的基础面试题及答案。

数据类型相关问题

问题:javascript有哪些数据类型?

答案:javascript的数据类型分为基本数据类型和引用数据类型。基本数据类型包括:number、string、boolean、null、undefined、symbol 。引用数据类型主要是object ,像数组、函数等都属于object 类型。例如:

javascript

let num = 10; // number 类型

let str = 'hello'; // string 类型

let bool = true; // boolean 类型

let n = null; // null 类型

let und; // undefined 类型

let sym = symbol('key'); // symbol 类型

let obj = {name: 'john'}; // object 类型

作用域问题

问题:解释一下javascript中的作用域。

答案:作用域定义了变量和函数的可访问范围。在javascript中有全局作用域和函数作用域。es6 引入了块级作用域。全局作用域中声明的变量可以在代码的任何地方访问;函数作用域中声明的变量只能在函数内部访问;块级作用域是由花括号 {} 包裹的代码块,使用 let 和 const 声明的变量具有块级作用域。例如:

javascript

let globalvar = 'global'; // 全局作用域变量

function test() {

let localvar = 'local'; // 函数作用域变量

if (true) {

let blockvar = 'block'; // 块级作用域变量

}

}

闭包问题

问题:什么是闭包,它有什么作用?

答案:闭包是指有权访问另一个函数作用域中变量的函数。即使该函数已经执行完毕,其作用域内的变量也不会被销毁。闭包的作用主要有两个:一是可以读取函数内部的变量;二是让这些变量的值始终保持在内存中。例如:

javascript

function outer() {

let count = 0;

function inner() {

return ++count;

}

return inner;

}

let counter = outer(); // counter 是一个闭包

console.log(counter()); // 输出 1

console.log(counter()); // 输出 2

原型与原型链问题

问题:解释一下javascript中的原型和原型链。

答案:在javascript中,每个对象都有一个内部属性 [[prototype]] ,它指向该对象的原型对象。原型对象也是一个对象,它也有自己的原型对象,以此类推,直到最顶层的原型对象 object.prototype ,这种层层嵌套的关系就形成了原型链。当访问一个对象的属性或方法时,javascript 首先会在对象本身查找,如果找不到,就会沿着原型链向上查找。例如:

javascript

function person(name) {

this.name = name;

}

person.prototype.sayhello = function() {

console.log('hello, ' + this.name);

};

let person = new person('john');

person.sayhello(); // 沿着原型链找到 sayhello 方法并执行

异步编程问题

问题:javascript 中如何处理异步操作?

答案:javascript 处理异步操作的方式有多种。早期使用回调函数,后来引入了 promise ,es8 又推出了 async/await 。例如使用 promise 处理异步操作:

javascript

function asyncoperation() {

return new promise((resolve, reject) => {

settimeout(() => {

resolve('async operation completed');

}, 1000);

});

}

asyncoperation().then(result => {

console.log(result);

}).catch(error => {

console.error(error);

});

以下为推荐内容

微信二维码