
javascript
文章平均质量分 94
_阿锋丶
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
反复刷这些javascript手写题,我又变强了(二)
文章目录数组原型方法的实现forEachmapfiltereveryreduce对象原型方法的实现object.assignobject.create手写promise数组原型方法的实现其实下面的这几个方法的写法差不多,参数也只有一些细微差别,但是要考虑到,如果是要返回一个新的数组的方法比如map,reduce都要用到深拷贝forEach这里主要需要注意的就是第一个参数是回调函数,然后这个回调 函数也会有三个参数,分别是元素值,元素索引,遍历数组本身,第二个参数就是数组遍历时this的指向地原创 2021-06-01 09:32:50 · 554 阅读 · 0 评论 -
反复刷这些javascript面试手写题,我感觉我真的变强了(一)
文章目录用正则能实现的手写题实现千分位分隔符实现一个trim()取出连续重复的字符解析url参数为对象形式关于闭包的手写题利用高阶函数实现函数缓存用正则能实现的手写题前段时间刚好复习了正则,所以把正则的写前面实现千分位分隔符题目描述:实现将一个数从各位数开始,每距离一个千分位添加一个分割符 ‘ ,’如输入: 12345678.32423432输出:12,345,678.32423432这道题在最近一两个月的面试中遇到两次,可以分别有字符串和数组的一些方法结合解决,也可以用正则解决,我觉得原创 2021-05-04 21:25:48 · 4254 阅读 · 15 评论 -
吃通javascript正则表达式
文章目录正则表达式的作用创建正则表达式的方式字面量形式使用对象的形式创建正则表达式小案例-实现输入字符高亮选择符对转义的理解正则表达式的作用简单来讲正则表达式的作用就是进行字符串的增删改查,虽然javascritpt语言已经有及其完善的操作字符串的api,但是正则表达式会让你操作字符串更简单方便创建正则表达式的方式字面量形式需要注意的是 字面量形式的正则表达式 是没有办法操作变量的,如下const reg = "sattre is smart"let x = 's'console.l原创 2021-04-18 19:52:06 · 1936 阅读 · 12 评论 -
精炼js内存泄露和内存溢出
同步个人博客此片文章是作者综合多篇相关文章总结后,臭不要脸的标明为原创。文章目录内存溢出js的垃圾回收机制什么是这里所谓的垃圾和其清楚方法引用计数垃圾收集标记清除法内存泄露定义八大内存泄露的情景及解决办法意外的全局变量计时器或回调函数没被清除被遗忘的时间监听器闭包被遗忘的 ES6 Set 和Map 成员被遗忘的订阅发布事件监听器脱离DOM的引用内存溢出定义:当程序运行需要的内存超过了剩余的内存是,就会爬出内存溢出的错误,可以理解为一种程序运行错误const obj = {}for(let.原创 2020-10-11 20:26:01 · 599 阅读 · 0 评论 -
javascript的防抖和节流理解与应用
函数的防抖定义函数防抖:当持续触发事件是,一定事件内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时。此技术多用于文本搜索框搜索信息展示功能等情况上面定义有点抽象,打个比方,比如我准备连续搞7天学习,结果我只搞了三天学习,第四天晚上打游戏去了没搞学习,结果我又立下了一个flag,重新开始连续搞七天学习。在打一个更接近编程的比方:比如监听一个输入框文字变化后触发的change事件,直接用keyup事件,则会频繁触发change事件,防抖则会在用户输原创 2020-10-10 15:02:44 · 792 阅读 · 0 评论 -
ES6的Proxy的理解与运用
文章目录Proxy的定义和语法proxy的理解语法Proxy的handler对象上的方法get(target, propKey, receiver):Proxy的定义和语法proxy的理解首先proxy的英文意思的代理,proxy用自己的话理解的话就是一个拦截器或者是过滤器感觉本质上就是在被代理的目标对象上加了一些事件行为语法const p = new Proxy(target, handler)参数要使用 Proxy 包装的目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代原创 2020-09-27 19:59:54 · 1366 阅读 · 0 评论 -
再一次彻底理解__proto__和prototype
本文是看此片文章后仿写;https://www.cnblogs.com/libin-1/p/6014925.html文章目录前言正文每个实例对象都会有__proto__属性,其被称为隐式原型每一个构造函数都有prototype属性,被称为显示原型每一个实例对象的隐式原型__proto__属性指向自身构造函数的显式原型prototype原型链解读前言是不是你和我一样经常忘记原型和原型链的知识点,忘记prototype和__proto__是啥东西,所以我的标题加了再一次,这东西真的非常重要,但是记不住,原创 2020-09-26 11:51:59 · 430 阅读 · 0 评论 -
ES6系列知识点深入理解全面复习
ES6学习复习系列文章目录ES6所有知识点学习复习文章链接地址,持续更新中(9.25)ES6字符串和数字格式新增的所有知识点(全面详细)ES6解构赋值(各种情形详解)ES函数默认值ES6的箭头函数应用和注意点ES6函数尾调用,尾递归及优化深入理解ES6数组之扩展运算符应用场景详解ES6数组的常用的拓展方法详细应用ES5,6数组的空位处理ES6symbol数据类型学习与应用ES6对象方法的拓展(深入理解Object.assign的拷贝等知识点)ES6的对象的数据结构的拓展ES6的原创 2020-09-25 17:04:13 · 1779 阅读 · 0 评论 -
分别手写一个bind call apply 函数
文章目录前言一、bind,call,apply的区别?二、手写实现这三个函数1.手写call2.手写apply3.手写bind总结前言最近复习ES6时经常遇到这三个函数,发现用途很大,在尾递归,克隆方面都能用到,所以查询网上的资料后,准备好好复习复习一、bind,call,apply的区别?这样的博客相比大家都看到过无数次了,我这么菜都知道了call 和 apply 都是为了解决改变 this 的指向。作⽤都是相同的,只是传参的⽅式 不同。 除了第⼀个参数外, call 可以接收⼀个参数列表原创 2020-09-22 19:13:04 · 544 阅读 · 1 评论 -
jsES5,6数组的空位处理
文章目录什么是数组空位数组的空位处理什么是数组空位数组的空位指,数组的某一个位置没有任何值。比如:Array构造函数返回的一个只有长的数组, 里面自然都是空位。注意,空位不是undefined,一个位置的值等于undefined,依然是有值的。空位是没有任何值,in运算符可以说明这一点。(其实严格来说, 连下标都木得)数组的空位处理forEach(), filter(), reduce(), every() 和some()都会跳过空位。map()会跳过空位,但会保留这个值join()和t原创 2020-09-17 10:54:08 · 379 阅读 · 0 评论 -
搞清js异步的重要一步---宏任务(marcroTask)和微任务(microTask)--精细讲解
此篇文章为学习慕课网双越老师课程所写自学笔记,如有侵权,立即删除文章目录先看一到面试题什么是宏任务和微任务event loop 和DOM渲染用event loop执行下面代码的过程DOM渲染的时机为什么微任务比宏任务执行更快微任务和宏任务的根本区别先看一到面试题下面代码console.log的执行顺序console.log(100);setTimeout(()=>{ console.log(200);})setTimeout(()=>{ console.log原创 2020-09-05 21:55:38 · 384 阅读 · 0 评论 -
javascript全面复习
文章目录基本数据类型NumberStringBooleanUndefinedNull复杂数据类型Array对象基础方法(属性方法)Array.isArrayArray.formArray.of原型链上的数组方法改变元素组的方法pushpopunshiftreservesortsplitfill生成新数组的方法sliceflatflatMapconcat遍历数组的方法mapforEachsomereduceeveryfilterfinderfindIndexFunction对象属性prototypeargum转载 2020-09-02 23:06:57 · 293 阅读 · 0 评论 -
js判断对象是否为空对象的几种方法
js判断对象是否为空对象的几种方法转载 2020-07-26 13:24:20 · 165 阅读 · 0 评论 -
深入理解async/await语法
文章目录aysnc和await的基础语法aysnc/await和promise的关系async函数返回一个promise对象await相当于.then()try/catch相当于catch异步的本质aysnc和await的基础语法下面是一个加载图片的函数返回promise对象await 接收的是一个promise对象function img_onload(url) { return new Promise( (resolve, reject) => {原创 2020-07-18 12:09:00 · 584 阅读 · 0 评论 -
详细图解js的Event Loop机制
文章目录js如何执行event loop(事件循环/事件轮询)的具体过程总结所有来自截图是慕课网双越老师,此片为自学笔记,如有侵权会立即删除js如何执行从前到后,一行行代码执行。某一行代码报错,则停止下面代码的执行先执行完同步代码,再执行异步代码event loop(事件循环/事件轮询)的具体过程先看一段简单的代码再看一下机制图:下面的call stack是调用栈,用来调用执行代码的,webApIs就是不是ES的语法,调用的是DOM或BOM的一些内容的代码,callback queue原创 2020-07-11 12:42:35 · 621 阅读 · 0 评论 -
JavaScript实现图片预加载时设置img的src属性和onload事件的位置前后顺序关系
JavaScript实现图片预加载时设置img的src属性和onload事件的位置前后顺序关系转载 2020-07-11 11:05:35 · 1249 阅读 · 0 评论 -
line-height如何继承
文章目录先看一到题:下列p元素的行高是多少line-height的几种写法先看一到题:下列p元素的行高是多少…思考………………………答案:20px*200%=40pxline-height的几种写法1. 写数值 如20px2. 写比例 如2/13. 写百分比 如写200%如果是前两种,则子元素就会直接继承数值或比例,但是如果写百分比还要进行相应的计算针对不同写法 回答上面p标签的继承line-height如下:1,如果body...转载 2020-07-08 18:23:44 · 823 阅读 · 0 评论 -
js的15种循环遍历,你掌握了几种?
js的15种循环遍历,你掌握了几种?转载 2020-06-04 17:04:26 · 262 阅读 · 0 评论 -
面试题:数组去重复对象
面试题:数组去重复对象转载 2020-05-12 11:02:38 · 199 阅读 · 0 评论 -
JS数组reduce()方法详解及高级技巧
JS数组reduce()方法详解及高级技巧转载 2020-05-12 11:01:10 · 251 阅读 · 0 评论 -
Array 中的高阶函数 ---- map, filter, reduce
Array 中的高阶函数 ---- map, filter, reduce转载 2020-04-23 10:10:53 · 168 阅读 · 0 评论 -
为什么回调函数的this是window
为什么回调函数的this是window转载 2020-04-15 11:39:37 · 715 阅读 · 0 评论 -
javascript最新方法创造对象和经典方式创造对象以及他们的优缺点详细得抠脚的总结,前端小朋友值得拥有
看红宝书容易忘记,于是记记笔记工厂模式这个不多比比,都广为人知了。直接写一遍代码function createPerson(name, qq) {//构造函数:功能是构造一个对象的函数 //原料 var obj = new Object(); // 当加了new时系统会偷偷的为我们做一些事情: // var this=new Object();this指向一...原创 2020-04-11 14:52:03 · 168 阅读 · 0 评论 -
你真的彻底理解js原型和原型链,闭包,异步和单线程吗?
一,原型和原型链想上一段代码// 类class Student { constructor(name, number) { this.name = name this.number = number // this.gender = 'male' } sayHi() { console.log( ...原创 2020-03-31 22:41:07 · 376 阅读 · 4 评论 -
警告自己忘记javascript是没有自动类型检测的,代码是会常出错的
像上面这样敲的代码,jacascript编译时是不会出错的,但是运行后,后台会出错,因为它是没有自动类型检测的,你穿的number类型的没有split方法原创 2020-03-31 14:28:31 · 150 阅读 · 0 评论 -
js:if语句判断时的truly变量和falsely变量,怎么区分两者
if判断时的truly变量和falsely变量,这点和c语言有所不同,c语言直接判断true和false,只有是truly变量才会走到if语句内那么什么是truly变量和falsely变量如下:经过两次非运算为true的为truly变量,反之则为falsely...转载 2020-03-30 22:05:50 · 1394 阅读 · 0 评论 -
js:javascript的类型转换的一些特例
字符串拼接时的类型转换==运算时的类型转换对于== 运算符和 ===最好所有都用 === ,因为 == 不知啥时会发生类型转换原创 2020-03-30 21:50:10 · 126 阅读 · 0 评论 -
js:typeof运算符和怎么实现深拷贝
typeof能判断哪些类型let obj1 ={ age:20, name:'wangfeng', address:{ city:'paries' }, arr:['1','2','3']}console.log(obj1)let obj2 =deepClone(obj1)obj2.address.city = 'sh...原创 2020-03-30 21:31:43 · 193 阅读 · 0 评论 -
看到解释回调函数callback的两片好文章,记一下怕忘记,之后可再来看
回调函数1作者 莫笑我胡为回调函数2作者 HyperDai转载 2020-03-10 09:21:36 · 123 阅读 · 0 评论 -
javascript常用的两种代码风格和 什么时候加分号,什么时候可以不加分号
风格1JavaScript Standard Style进入之后可以点击鼠标右键翻译成中文风格2Airbnb Standard Style什么时候加分号,什么时候可以不加分号当一行代码以([’这三个字符开头时,要在这个字符前面加一个分号,避免语法解释错误如:其他情况都可以不加最好都加分号吧...原创 2020-03-06 19:20:07 · 449 阅读 · 0 评论 -
jquery中的内容选择器
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-...原创 2020-02-17 13:24:45 · 173 阅读 · 0 评论 -
js原生的forEach()和map()以及jquery中的each()和map()他们4者的联系和区别
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-U...原创 2020-02-08 17:52:23 · 179 阅读 · 0 评论 -
什么是javascript的AO 活动对象
<!DOCTYPE html><!-- AO 活动对象 抽象的东西 不能写在程序中的 AO :active Object 执行环境: js代码的执行是由环境的 (全局环境 函数内部环境) 改环境定义了其有权访问的其他数据 环境有一个与之关联的活动对象 AO 环境中的所有的 变量 和 函数 都是活动对象AO的属...原创 2020-02-04 11:51:21 · 943 阅读 · 0 评论 -
javascript作用域链以及函数的预加载功能变量的执行规则
<!DOCTYPE html><html lang="en"> <!-- 作用域链定义 变量在当前环境now 内部环境f1 内部深层环境f2 f3...都起作用的现象形成了一个链条 这个链条就成为作用域链 变量必须先声明 后使用 没声明的话 会提示undifined 函数可以显示后声明 原因是函数有 ...原创 2020-02-04 11:49:28 · 299 阅读 · 0 评论 -
闭包的两个实例 -创建数组元素 事件案例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-...原创 2020-02-04 11:48:44 · 188 阅读 · 0 评论 -
什么是javascript的闭包 和闭包的规则 特点
<!DOCTYPE html><!-- 什么是闭包 闭包就是一个函数 两个函数彼此嵌套 内部函数就是闭包 形成闭包条件是内部函数需要通过 return 给返回来 闭包的特点: 闭包有权利调用其父级环境的变量信息,父级环境的信息已经固化为本省的AO成员了 闭包使用规则: 同一个闭包机制可以创建多个闭包函数出...原创 2020-02-04 11:47:36 · 247 阅读 · 0 评论 -
把面向过程的程序改写成面向对象的形式 用面向对象写选项卡
<!DOCTYPE html><html lang="en"><head> <!-- 面向对象选项卡 --><!-- 把面向对象的程序改写成面向对象的形式原则:不能有函数套函数,但可以有全局变量过程 onload - 构造函数 全局变量 - 属性 函数 - 方法改错 this 事件 闭包 传...原创 2020-01-30 09:04:14 · 929 阅读 · 0 评论 -
用面向对象 写拖拽功能 和javascript的继承写限制拖拽
<!DOCTYPE html><html lang="en"><!-- 系统对象 1,本地对象(非静态对象) 什么是本地对象 常用的: Object Function Array String Boolean Number Date 2,内置对象(静态对象) Global对象 只是一个概念 Mat...原创 2020-01-30 09:02:07 · 180 阅读 · 0 评论 -
freecodecamp上的bootstrap和jquery的练习入门
freecodecamp上的bootstrap和jquery的练习入门转载 2019-12-02 15:14:12 · 172 阅读 · 0 评论 -
reactjs是什么
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-...原创 2019-12-02 14:13:38 · 334 阅读 · 0 评论