1. 什么是JavaScript?
JavaScript(简称JS)是一种轻量级的编程语言,主要用于网页开发,它允许网页具有交互性。JavaScript是一种基于原型的编程语言,拥有函数式编程的特性。
2. 基本语法
2.1 变量声明
var: 函数作用域或全局作用域let: 块级作用域const: 块级作用域,且值不可变
2.2 数据类型
- 基本类型:
undefined,null,boolean,number,string,symbol - 对象类型:
Object,Array,Function
2.3 运算符
- 算术运算符:
+,-,*,/,% - 关系运算符:
==,===,!=,!==,<,>,<=,>= - 逻辑运算符:
&&,||,! - 其他:
++,--
3. 函数
3.1 函数声明
function sayHello() {
console.log('Hello');
}
3.2 函数表达式
const sayHello = function() {
console.log('Hello');
};
3.3 高阶函数
function add(a, b) {
return a + b;
}
const multiply = (a, b) => a * b;
4. 对象
4.1 创建对象
const person = {
name: 'Alice',
age: 25
};
4.2 访问属性
console.log(person.name); // Alice
4.3 方法
const person = {
name: 'Alice',
age: 25,
sayHello() {
console.log('Hello');
}
};
5. 数组
5.1 创建数组
const numbers = [1, 2, 3, 4, 5];
5.2 访问元素
console.log(numbers[0]); // 1
5.3 方法
numbers.push(6); // [1, 2, 3, 4, 5, 6]
6. 事件处理
document.getElementById('button').addEventListener('click', function() {
console.log('Button clicked');
});
7. ES6新特性
7.1 解构赋值
const [a, b] = [1, 2];
7.2 模板字符串
const message = `Hello, ${name}`;
7.3 箭头函数
const multiply = (a, b) => a * b;
8. 面试必备100题解析
以下是部分面试题及其解析:
8.1 下列哪个变量声明方式不会造成内存泄漏?
解析:const声明的变量具有块级作用域,且值不可变,不会造成内存泄漏。而var声明的变量会在函数执行完毕后释放,但如果没有正确使用var,则可能导致内存泄漏。
8.2 下列哪个函数声明方式可以创建匿名函数?
解析:函数表达式可以创建匿名函数,如下所示:
const sayHello = function() {
console.log('Hello');
};
8.3 下列哪个数组方法可以移除数组的最后一个元素?
解析:pop()方法可以移除数组的最后一个元素,如下所示:
const numbers = [1, 2, 3, 4, 5];
numbers.pop(); // [1, 2, 3, 4]
通过以上解析,相信你已经对原生JavaScript的核心知识有了更深入的了解。祝你在面试中取得好成绩!
