首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JavaScript
NOxONE
创建于2022-07-18
订阅专栏
System.out.println("js天下第一");
等 1 人订阅
共21篇文章
创建于2022-07-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
写JS一定要优雅!
0. 写在前头 这篇文章会不时更新补充,记录我自己平时在学习以及实际开发过程中,总结整理的一些关于JS的优雅写法 鄙人是一个重度代码洁癖患者,能一行代码解决的事,绝对不会书写多行,能代码上下平铺,绝对
一文搞懂执行上下文、VO、AO、Scope、[[scope]]、作用域链、闭包、this
0.写在开头 本文将秉承能写代码就不多BB的原则,争取将执行上下文、VO、AO、Scope、[[scope]]、作用域、作用域链这些晦涩抽象的概念用伪代码来清晰表述出来,用以强化理解和记忆。 若有写的
用伪代码理解EventLoop
js主线程执行遇到异步代码将其推入事件触发线程维护的异步回调队列中(分宏微) js主线程执行执行完毕,渲染线程执行重新渲染dom(包括重排重绘) 渲染线程执行完毕,执行事件触发线程,将异步回调队列中任
《JavaScript高级程序设计》学习笔记
ECMAScript 0.ECMA-262规定: 对象与平台无关 删除与浏览器相关的代码 全面支持Unicode编码 1. 表达式 1.1 表达式包括:常量、变量、直接量、关键字 ①原始表达式: ②初
事件循环机制
1.堆、栈、队列 堆Heap:存放引用类型 栈Stack:后进先出,执行同步任务 队列Queue:先进先出,存放异步任务 2.事件循环 js是单线程的,但是执行时会分为同步和异步任务 3.宏任务和微任
new理解和实现
总结: 1.new会执行当前的构造函数,并且加入一些语法糖操作: 将this指向新创建的obj; obj.__proto__指向构造函数的prototype; 开始指向构造函数里面的代码,若构造函数没
防抖和节流函数实现
1.防抖 防抖(debounce):在第一次触发事件时,不立即执行函数,而是给出一个延迟。若在延迟时间内,不再触发事件那么执行函数;若在延迟时间内再次触发事件,那么以最后一次触发的时机重新计算延迟时间
instanceof机制和实现
instanceof机制: 获取判断类型的prototype和对象的__proto__ 遍历对象上的所有原型直到==判断类型的prototype返回true 若遍历到尽头也就是null了还是没结果返回
JS类型判断
写一个通用的判断类型函数 参考 1.JS类型判断上 2.JS类型判断下 ..............
call、apply、bind实现
1.call实现 思路: 实现: 2.apply实现 思路: 实现: 3.bind实现 实现:...
Promise实现
不多bb直接上代码 参考 1.从一道让我失眠的 Promise 面试题开始,深入分析 Promise 实现细节 2.Promises/A+规范(中文翻译) 3.看了就会,手写Promise原理,最通俗
JS内存管理与垃圾回收机制
1.JS内存管理 1.1 内存生命周期 分配内存 => 内存读写 => 释放内存 在JS语言中,内存分配是由JS引擎自动完成的,释放内存也是如此,由JS引擎根据垃圾回收机制进行回收,开发者能参与的是内
Iterator和Generator
1.Iterator 1.1 什么是Iterator Iterator即迭代器,它定义了对象的遍历机制。 它有一个next()方法,在遍历时会调用iterator.next(),会返回结果{value
柯里化函数实现
柯里化是一种转换,让 f(a,b,c) 能以 f(a)(b)(c)或f(a,b)(c) 的形式进行调用。 实现思路:保持原函数可以被正常调用,并且如果参数数量不足,则返回偏函数 参考 1.柯里化
deepClone实现
针对每一种数据类型作特殊处理: 简单数据类型、null、undefined:返回本身即可 Array Map、Set:对每一项元素作递归处理,最后返回 Date:返回new Date(+o),+o相当
Array原生方法实现
1.数组迭代方法1.数组迭代方法1.数组迭代方法1.数组迭代方法1.数组迭代方法1.数组迭代方法1.数组迭代方法1.数组迭代方法1.数组迭代方法1.数组迭代方法1.数组迭代方法1.数组迭代方法1.数组
JS类型转换
ToPrimitive:数据类型转化为原始值 toString和toNumber:数据类型转化为String or Number +操作 计算 val1 + val2: ==判断 判断 x == y
ES6中新增的class
总结: 1.class与其他面向对象编程语言中的类是不同的,它只是单纯的一个声明构造函数的语法糖,简化了原型和继承的实现,使得语法更加优雅,代码结构层次更加清晰,健壮 2.class只能通过new调用
JS模块化
模块化 模块化规范有AMD、CMD、CommonJS、ESModule,前面两者逐渐被抛弃了,现在主流的服务器端node使用CommonJS,客户端使用ESModule,且ESModule是ES6提出
Reflect和Proxy结合实现响应式
Reflect是一个内置的对象,它提供拦截 JavaScript 操作的方法。 他可以与Proxy结合使用以实现和Object.defineProperty类似的功能,且性能更好,Vue3正在考虑用此
下一页