|
|
摘要:一、为什么需要事件循环? 首先, 咱们得明白JavaScript是单线程的. 啥意思呢? 就是说JS在同一时间只能做一件事, 不能像Java那样开多个线程同时干活. 这听起来是不是很弱鸡? 别急, 设计成这样是有原因的. 想象一下, 如果JS是多线程的, 你在一个线程里修改DOM, 另一个线程里删除
阅读全文
摘要:多前端同学可能觉得这是浏览器或引擎该操心的事, 但理解内存管理能帮你写出更高效的代码, 还能避免各种内存泄漏的坑. 一、常见的内存泄露场景 1) 意外的全局变量: function leaky() { leak = '这是一个全局变量'; // 本意是 let leak = ... this.ano
阅读全文
摘要:今天咱们来聊聊JavaScript开发中那些至关重要的安全实践. 作为前端开发者, 我们不仅要让页面好看、交互流畅, 更重要的是要保护好用户的数据安全. 一、XSS防御 XSS(跨站脚本攻击)就像有人偷偷在你家墙上乱涂乱画. 攻击者往你的网页里注入恶意脚本, 当其他用户访问时, 这些脚本就会执行,
阅读全文
摘要:一、属性描述符 当你写 obj.name='张三' 时, 你真的了解这个 name 属性吗? 其实每个属性背后都藏着一组"属性描述符"(Property Descriptor), 就像一个人的身份证信息一样记录着这个属性的详细特征. const obj = { name: '张三' };const
阅读全文
摘要:一、为什么需要模块化? 想象一下你正在写一个大型项目, 所有代码都堆在一个文件里: // 可怕的全局变量地狱var utils = {...};var api = {...};var componentA = {...};var componentB = {...};// 20000行之后...fu
阅读全文
摘要:一、函数是一等公民 在 JavaScript 中, 函数是"一等公民"(First-class Citizen). 这可不是随便给的称号,它意味着: 1. 函数可以赋值给变量 2. 函数可以作为参数传递 3. 函数可以作为其他函数的返回值 // 1. 赋值给变量const greet = funct
阅读全文
摘要:一、 为什么需要异步编程? 先说说为什么要有异步这回事. JavaScript是单线程的, 也就是说它一次只能做一件事. 如果所有操作都同步执行, 遇到网络请求或者文件读取这种耗时的操作, 页面就会卡住不动, 用户体验直接爆炸. // 同步代码的灾难现场const data = fetchDataF
阅读全文
摘要:一、从对象说起, 一切皆对象 在 JS 中, 几乎所有的东西都是对象, 或者说最终都会指向某个对象. 比如: let arr = [1, 2, 3];console.log(typeof arr); //"object"function foo() {}console.log(typeof foo)
阅读全文
摘要:作为前端开发者, this关键字绝对是让人又爱又恨的存在.今天我们就来彻底搞懂它. 一、this到底是什么 简单来说, this是JavaScript中的一个特殊关键字, 它指向当前执行代码的上下文对象. 但具体指向谁, 得看它是怎么被调用的, 来看个示例: console.log(this); /
阅读全文
摘要:一、什么是作用域? 简单来说, 作用域就是变量起作用的范围. 想象一下, 你在家里喊"开饭啦!",只有家里的人能听见; 在小区里喊, 整个小区都能听见; 在大街上喊...呃, 可能会被当成神经病. JavaScript的作用域也是类似的道理. 1) 全局作用域全局作用域就像是在大街上喊话, 所有人都
阅读全文
摘要:一、算术运算符 算术运算符是咱们最熟悉的老朋友了,但 JavaScript 给它们加了一些"特殊技能".1) 基本算述运算符 let a = 10;let b = 3;console.log(a + b); //13,加法console.log(a - b); //7,减法console.log(a
阅读全文
摘要:一、变量声明 在 JavaScript 中, 我们主要有三种声明变量的方式: var、let 和 const. 它们看起来差不多, 但实际上差别可大了!1) 老派风的varvar 是 JavaScript 最早的变量声明方式, 它有一些"独特"的行为: var name = "小明";console
阅读全文
摘要:一、JavaScript的历史与发展 JavaScript诞生于1995年,由Netscape公司的Brendan Eich在短短10天内设计完成。最初命名为Mocha,后改为LiveScript,最终为了借助Java的流行度而定名为JavaScript(尽管两者并无直接关系)。重要历史节点: 19
阅读全文
|