JavaScript 基础面试
1. 概述
JavaScript 是一种被广泛应用于前端开发的脚本语言,也可以用于后端开发。它的设计目标是为了使网页具有更多的交互功能,实现与用户的实时交互。在前端工程师的面试中,JavaScript 是一个必备的基础知识点,面试官常常会问到一些与 JavaScript 相关的问题。本文将介绍一些常见的 JavaScript 基础面试题,并给出相应的代码示例。
2. 数据类型
JavaScript 中的数据类型包括原始类型和引用类型。常见的原始类型有数字(number)、字符串(string)、布尔值(boolean)、空值(null)和未定义(undefined)。常见的引用类型有对象(object)、数组(array)和函数(function)。
2.1 原始类型
let num = 10; // 数字
let str = "Hello World"; // 字符串
let bool = true; // 布尔值
let empty = null; // 空值
let undef = undefined; // 未定义
2.2 引用类型
let obj = { name: "Alice", age: 20 }; // 对象
let arr = [1, 2, 3]; // 数组
let func = function() { console.log("Hello"); }; // 函数
3. 变量声明和作用域
在 JavaScript 中,可以使用 var
、let
和 const
关键字来声明变量。其中,var
是 ES5 的语法,let
和 const
是 ES6 的语法。var
声明的变量的作用域是函数作用域,而 let
和 const
声明的变量的作用域是块作用域。
3.1 var
function testVar() {
if (true) {
var x = 10;
console.log(x); // 输出 10
}
console.log(x); // 输出 10
}
testVar();
3.2 let
function testLet() {
if (true) {
let x = 10;
console.log(x); // 输出 10
}
console.log(x); // 报错,x is not defined
}
testLet();
3.3 const
const PI = 3.14;
PI = 3.14159; // 报错,Assignment to constant variable.
4. 函数
函数是 JavaScript 中的一等公民,可以作为变量传递、作为参数传递给其他函数,还可以作为返回值返回。JavaScript 中的函数可以使用函数声明、函数表达式和箭头函数来定义。
4.1 函数声明
function add(a, b) {
return a + b;
}
let result = add(1, 2);
console.log(result); // 输出 3
4.2 函数表达式
let add = function(a, b) {
return a + b;
};
let result = add(1, 2);
console.log(result); // 输出 3
4.3 箭头函数
let add = (a, b) => a + b;
let result = add(1, 2);
console.log(result); // 输出 3
5. 对象和数组
5.1 对象
JavaScript 中的对象是由键值对组成的,可以通过点操作符或方括号访问对象的属性。
let person = {
name: "Alice",
age: 20,
sayHello: function() {
console.log("Hello, my name is " + this.name);
}
};
console.log(person.name); // 输出 Alice
person.sayHello(); // 输出 Hello, my name is Alice
5.2 数组
JavaScript 中的数组可以包含任意类型的数据,可以通过索引访问数组的元素。
let numbers = [1, 2, 3, 4, 5];
console.log(numbers[0]); // 输出 1
console.log(numbers.length); // 输出 5
6. 流程控制
JavaScript 中的流程控制语句包括条件语句(if-else)、循环语句(for、while)和选择语句(switch)。