首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
前端基础
Snail_James
创建于2021-10-28
订阅专栏
前端基础
等 11 人订阅
共19篇文章
创建于2021-10-28
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
几个简单的例子学会 ES6 class
「这是我参与2022首次更文挑战的第25天,活动详情查看:2022首次更文挑战」 是什么 class 是 ES6 中的一个语法糖结构,底层依然是基于原型和构造函数。何以见得呢? 可以看到,两个实例的打
用了一天时间,我终于彻底搞懂了 0.1+0.2 是否等于 0.3!
相信你就算没有被问到过这个问题,也一定听说过这个问题。那么你是否了解过详细的原因呢?精度是怎么丢失的?IEEE 754 是什么?64 bit 双精度浮点数又是什么?
一文彻底搞懂闭包
都2022年了,竟然还有人不懂闭包?! 一句话概括,闭包是指有权访问另一个函数作用域中的变量的函数。
一文彻底搞懂作用域
都2022年了,竟然还有人不懂作用域?! 一句话概括,存储变量以及查找变量的规则就是作用域。而作用域层层嵌套形成的关系就是作用域链。
你真的会排序吗?
本文整理常见排序方法 冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、计数排序、sort排序、拓扑排序,后续会继续更新
ECharts常见图表配置
用过很多次ECharts图表,每次用的时候都要查文档,也想过进行记录,总是忙于手头工作或者因为惰性没有落实到文章,这次痛定思痛趁着假期记录下,以下代码基于echarts 5.0.0版本,出于偷懒,直接
JS设计模式
创建型模式工厂模式在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象,它提供了一种创建对象的最佳方式。个人理解类似于工厂车间,可以生产指定产品fun
常用数组遍历方法的速度测试
最近做项目的重构,突然想到一直在用数组的各种遍历方法,却没有测试过它们的速度,想到就做,于是就有了今天的文章,本文不涉及技术问题,只是记录下遍历数组各种方法的用时对比,代码如下:首先我用for循环创建
手写深拷贝
偶然发现自己欠了一篇文章,那么今天就来自己动手实现一个深拷贝之前的文章(《赋值、浅拷贝与深拷贝》)我们讲过深浅拷贝的概念、区别以及JSON.parse(JSON.stringify(obj))实现深拷
JavaScript 中的 6 种继承
考虑到原型链继承和借用构造函数继承各自的缺点,组合继承是将原型链和借用构造函数的技术组合到一块,从而发挥二者之长且避免它们的不足的一种继承模式。其背后的思路是使用原型链实现对原型属性和方法的继承,而通过借用构造函数来实现对实例属性的继承。这样,既通过在原型上定义方法实现了函数复…
JavaScript判断数据类型
JavaScript判断数据类型的方式有哪些? 你是否在面试过程中被问到过这个题?你是怎么回答的呢?
赋值、浅拷贝与深拷贝
理解了浅拷贝,深拷贝的概念就呼之欲出了,所谓深拷贝,即不管对象的属性是基本数据类型还是引用数据类型,都会进行拷贝,所以拷贝前后的两个对象是相互独立,互不影响的。
事件循环与任务队列
因为JavaScript(最初)是运行在浏览器中的,作为一个与用户交互为主的语言,如果设计为多线程,会带来很复杂的同步问题,比如两个事件,一个给变量a*2,一个给变量a+10,如果存在多线程,执行顺序不同,结果不同,同样的情况应用于DOM操作呢,所以为了避免这种复杂性,Java…
执行上下文和执行栈
1. 创建阶段 2. 执行阶段 let或const声明的变量,不存在变量提升。而且要求必须 等let声明语句执行完之后,变量才能使用,不然会报Uncaught ReferenceError错误。ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量…
手写call,apply,bind
JavaScript 高频面试题 => 改变 this 指向有哪些方式?它们有什么区别?能手写实现吗?
new一个函数发生了什么及手写实现
经常使用new操作符,你是否了解 new 的过程都做了什么?是否能自己实现一个 new 呢?一起来看一下new 的过程及实现吧!
构造函数、原型及原型链
构造函数本身就是一个函数,与普通函数没有任何区别,不过为了规范一般将其首字母大写。构造函数和普通函数的区别在于,构造函数用于使用new操作符生成实例,普通函数用来调用以实现某种功能。 每个函数都有一个prototype属性,prototype属性中的constructor属性又…
节流
如果你在日常开发中,在滚动事件或者窗口resize事件时需要做一个复杂的计算,如果不限制事件处理函数调用的频率,会加重浏览器的负担,造成性能浪费甚至页面卡顿。此时我们可以采用防抖(debounce)和节流(throttle)的方式来减少调用频率,同时又不影响实际效果,本文主要讲…
防抖
如果你在日常开发中,在滚动事件或者窗口resize事件时需要做一个复杂的计算,如果不限制事件处理函数调用的频率,会加重浏览器的负担,造成性能浪费甚至页面卡顿。此时我们可以采用防抖(debounce)和节流(throttle)的方式来减少调用频率,同时又不影响实际效果,本文主要讲…