JavaScript 作为一门动态、弱类型的编程语言,其原生知识点覆盖了语法、数据类型、执行机制等核心内容。以下是对 JavaScript 原生知识点的系统化描述:
变量与作用域
var:函数作用域,存在变量提升(变量声明被提升到作用域顶部)。let/const:块级作用域,无变量提升,const 声明常量(不可重新赋值)。数据类型
undefined、null、boolean、number、string、Symbol(ES6)、BigInt(ES2020)。 Object(包括 Array、Function、Date 等)。 typeof(无法区分对象与数组)、instanceof(检测原型链)、Object.prototype.toString.call()。运算符
===)与宽松相等(==),逻辑运算符短路特性(如 || 返回第一个真值)。 const { a, b } = obj;,支持数组和对象。if...else、switch(使用全等比较)。for、while、do...while,for...of(遍历可迭代对象),for...in(遍历对象属性,含原型链)。 break/continue 控制循环流程。this 绑定)。function(a = 1) {}。 arguments 对象(类数组,箭头函数不可用),剩余参数(...args)。this 绑定 call()/apply()/bind() 修改。 this 由外层作用域决定。{}、构造函数 new Object()、Object.create()。 obj.a)或方括号(obj['a'])。__proto__ 指向原型对象,构造函数通过 prototype 定义共享方法。 instanceof 检测原型链关系。class 关键字定义类,extends 实现继承,super() 调用父类构造函数。push()、pop()、splice()。 map()、filter()、slice()。 forEach()、reduce()(累加器)。Symbol.iterator 定义可迭代对象(如数组、字符串),支持 for...of 遍历。pending、fulfilled、rejected。 .then().catch().finally()。async 函数返回 Promise,await 暂停执行直到 Promise 完成。setTimeout,微任务:Promise.then()),微任务优先执行。try...catch finally 无论是否出错都会执行。throw Error 对象)。window.onerror(浏览器)、process.on('uncaughtException')(Node.js)。export 导出模块,import 导入模块,支持静态分析。 export default)与命名导出(export const a = 1;)。import() 返回 Promise,按需加载模块。window 对象:location(URL)、navigator(浏览器信息)、localStorage(持久化存储)。document.getElementById()、querySelector()。 addEventListener()、事件冒泡与捕获、事件委托。 createElement()、appendChild()、innerHTML(需防 XSS 攻击)。JSON.stringify() 序列化对象,JSON.parse() 反序列化。RegExp 对象,test() 和 exec() 方法。new Date()、时间戳 getTime()。'use strict' 禁止隐式全局变量、重复参数等不安全操作。${variable})。const newObj = { ...obj1, ...obj2 };。Reflect 提供反射方法。Set 存储唯一值,Map 键值对集合(键可为任意类型)。JavaScript 的核心知识点围绕其动态特性、原型继承、异步模型展开,同时随着 ES6+ 的演进,语言功能不断丰富。开发者需深入理解作用域、闭包、事件循环等机制,并掌握现代语法(如模块化、Promise)以应对复杂场景。学习过程中应结合实践,通过调试与性能分析深化对语言特性的理解。
热门推荐:
0