javascript
文章平均质量分 83
陈成的毕设源码免费
985毕业程序员,喜欢沟通交流,需要源码可以私我,免费送。
展开
-
每天一个npm包 之 js-cookie
hello, 大家好,我是 前端学长Joshua (公众号)。热心于做开源,写文章。目的为帮助在校大学生,刚入职场的小伙伴可以尽快搭建自己的前端学习体系。如果你有学习上的困惑,欢迎关注我,找我交流,我实时回复大家。每天一个npm包 之 js-cookie特性介绍:js-cookie 是一个上手简单,轻量的,处理cookies的库有如下特点:在所有浏览器是可用允许所有的字符集支持 ES6 模块化, AMD 和 CommonJs 模块化符合 RFC 6265有wiki允许自定义编码、原创 2021-08-21 13:03:20 · 1589 阅读 · 1 评论 -
技术篇 - 如何使用 Promise.all()
如何使用 Promise.all()hello, 大家好,我是前端学长Joshua。热心于做开源,写文章,目的为帮助在校大学生,刚入职场的小伙伴可以尽快搭建自己的前端学习体系。如果你有学习上的困惑,欢迎关注我,找我交流,我实时回复大家。Promise.all() 的介绍Promise.all(promisesArrayOrIterable) 是javascript中的一个辅助函数。它可以帮助我们一次,并行处理多个promise, 然后将结果聚合到一个数组里边,这是聚合结果,不是说返回结果哦。它原创 2021-08-14 11:48:43 · 424 阅读 · 0 评论 -
并行执行多个独立的异步操作 - Promise.allSettled()
并行执行多个独立的异步操作 - Promise.allSettled()并行执行多个独立的异步操作 - Promise.allSettled()介绍如何使用Promise.allSettled()1.Promise.allSettled()2. example: 简单的使用Promise.allSettled()2.1. 所有promise已完成2.2 某个promise已拒绝2.3 所有promise已拒绝小结:兼容性:参考动下小手介绍Promise.原创 2021-08-07 17:34:48 · 817 阅读 · 0 评论 -
每天一个npm包 之 qs
使用:解析成对象解析成数组字符串化null值的处理动下小手使用:下载代码: https://github.com/huangyangquang/npmEverydays/blob/master/2021%E5%B9%B4/7%E6%9C%88%E4%BB%BD/Joshua_qs执行node index.js, 查看输出结果var qs = require('qs');var obj = qs.parse('a=c')..原创 2021-08-01 19:46:55 · 659 阅读 · 0 评论 -
新技术篇 - Array.prototype.at()函数
相对索引方法之.at函数相对索引方法之.at函数对字符串的补充参考:社交信息 / Social Links:(Welcome to pay attention, 欢迎关注)Array.prototype 上的新的新方法 --- at 函数,可以让我们更加方便的访问到数组 和 字符串末尾的元素。在实际开发中,我经常需要去访问到数组或者是字符串中末尾的某个元素的。但是吧,通常使用的法子不是很好的,比如 my_array[my_array.length - N]。或者是使用可能没有什么原创 2021-07-24 18:17:00 · 625 阅读 · 0 评论 -
翻译篇 - ES 模块预加载和完整性
翻译篇 - ES 模块预加载和完整性翻译篇 - ES 模块预加载和完整性生产环境中模块的优化模块预加载模块预加载例子:Polyfilling 模块预加载完整性限制号召一起行动JSPM Generator - 模块预加载生成器参考社交信息 / Social Links:生产环境中模块的优化当在生产环境中使用ES模块时,目前有两种主要的性能优化要应用-代码拆分和预加载。代码拆分优化可用于打包器(如 esbuild 或 RollupJS)中的原生 ES 模块。代码拆分确保对于任何翻译 2021-07-10 23:04:29 · 1122 阅读 · 0 评论 -
2021-07-01Object.hasOwn 替换掉 Object.prototype.hasOwnProperty
2021 年 6 月 25 日发布 · 标记为ECMAScript建议使用 Object.hasOwn() 方法,因为它使得 Object.prototype.hasOwnProperty() 更易于使用。阶段目前这个提案还在第三阶段Object.hasOwn提案为什么会出现呢?目前,这样的代码是很常见:const hasOwnProperty = Object.prototype.hasOwnProperty;if (hasOwnProperty.call(object, 'foo'))翻译 2021-07-01 23:48:28 · 918 阅读 · 0 评论 -
TC39、ECMA-262、ECMAScript 的一些事儿
TC39、ECMA-262、ECMAScript 的一些事儿你们会不会有这样的情况,就是对于某项技术、语言到底在哪可以了解到最新的规范?而这些规范又是否被支持?支持到什么程度?完全没有头绪。对于JavaScript,自从 ES6 规范发布以来,带来很多新的特性,而我们在消化这些大量的知识时,ES 规范也在不停的调整和增加内容。可是我们没有一个特定的流程和渠道来获取最新的资讯,这反而会越来越落后于前沿技术。所以,下边我就针对JavaScript做了一份相关的知识的总结:TC39、ECMA-262、原创 2021-06-28 01:31:20 · 263 阅读 · 0 评论 -
如何理解ES6 静态编译?
如何理解ES6 静态编译?如何理解ES6 静态编译?实例参考留坑社交信息 / Social Links:(Welcome to pay attention, 欢迎关注)请先阅读深入ES Module, 浅析原理ES6 模块编译时执行会有以下两个特点:import 命令会被 JavaScript 引擎静态分析,优先于模块内的其他内容执行。export 命令会有变量声明提前的效果。那么现在,我们来探究:为什么import 命令会被 JavaScript 引擎静态分析,原创 2021-06-01 02:29:26 · 836 阅读 · 3 评论 -
浅析:正则表达式修改字符串数字“10000”为“10,000”
问题抛出:如何将字符串“10000“,转为”10,000“这样的形式呢?我直接给出代码和结果,您是否理解这个正则呢?下面,请允许我解析下这个问题,然后顺带把这个正则给解释清楚。题目是要我们将字符串“10000“,转为”10,000“这样的形式:从正则表达式的角度出发,就是将字符串“10000“中的某个空字符串”“给替换为字符串”,“。那么,我们怎么去确定这个空字符串的位置呢?哈哈哈,这就是我们正则表达式最擅长的了。我可以通过正则表达式来构造出规则,然后匹配出这个空字符串”“。这个规则就是:原创 2020-09-20 23:31:52 · 654 阅读 · 0 评论 -
javaScript之事件模型,你知道多少?
在javaScript中,采用异步事件驱动编程模型,在这种模型下,浏览器,文档对象,元素对象等发生一些动作的时候,我们可以迅速知道。在对事件模型进行深入探讨之前,我们先来认识些有关的概念,避免初学者到时候看得云里雾里。1.事件类型:是一个用来说明发生什么类型事件的字符串,由于事件类型是一个字符串,因此实际上有时会把事件类型叫做事件名字,比如:click, keyup…2.事件目标:就是这个事件在谁身上触发的,常见的有Window, Document和Element对象3.事件处理函数:就是触发某个事件原创 2020-05-20 22:53:15 · 143 阅读 · 0 评论 -
Set 和 Array 玩转 交/并/差集
这部分内容我实际上在我的文章中写过,但我感觉这部分是一个比较好的应用,所以就给独立出来。关于ES6给我们提供的新的数据结构,可以看下我这篇文章:(里面包含了这部分内容)ES6之深入Set 与 WeakSet的知识讲解要通过Set 和 Array 来玩转 交/并/差集,还得使用到一个小的知识点: …操作符。…操作符的作用在数组上时可以帮我们把把数组给展开,变成些散列的值,也可以把我们散列的值收集成一个数组。如下图:图片标注1: 就是…操作符的展开作用图片标准2: 就是…操作符的收集作用交 /原创 2020-05-18 17:58:47 · 130 阅读 · 0 评论 -
JavaScript深入之call和apply的模拟实现
关于call,apply的实现原理,只要记住this指向里面的方法调用模式就可以了,就是 哪一个对象调用了这个函数,this就指向哪个对象。所以,我们可以把我们的修改this指向的参数作为一个对象的函数属性,通过这个对象调用它的函数属性,就可以达到改变this指向的问题。当对象上的函数方法执行后,保留其执行的返回结果,然后删除这个对象上的函数属性,最后返回保留的执行结果。这样一个bind,app...原创 2020-05-07 17:30:52 · 104 阅读 · 0 评论 -
javascript 之 模拟new关键字的功能
实现思路:1.变量初始化 获取到构造函数2.判断构造函数是不是一个函数3.创建新对象 并且指定新对象的原型为构造函数的原型4.执行构造函数里的代码 并且改变this指向为新对象 获取构造函数的返回值5.判断构造函数的返回值是不是引用值6.如果是,就返回这个引用值; 如果不是,就返回新对象代码实现:function objectFactory() { let newObject...原创 2020-05-07 14:59:18 · 158 阅读 · 0 评论 -
优化网络请求性能——节流
节流:就是预定一个函数只有在大于等于执行周期时才执行,周期内调用不执行。好像水滴攒到一定重量才会落下一样应用场景:1.窗口调整2.页面滚动3.抢购点击以抢购疯狂点击为例子,进行节流操作如果不进行节流操作,就会可以有人通过脚本进行事件触发,在1s内触发几千次事件,然后像服务器发送数据请求,获取大量自己想要的商品,或者是恶意攻击。所以我们要进行节流操作。在一定时间内,事件只触发一次,...原创 2020-04-26 22:32:16 · 769 阅读 · 0 评论 -
javascript之 var,let, const之间的异同
var1.变量声明提升2.可重复定义3.全局变量会被挂载到window上(我们有可能声明的变量和window上的某一个属性一样,比如name)let1.与var的相反:没有变量声明提升;不能重复定义;全局变量不会被挂载到window上2.声明的变量和{}配合产生的块级作用域,生在在括号内部的变量无法在外部使用(比如: if{…}, for(…) {…}, while(…) {…}等)...原创 2019-08-04 04:08:06 · 92 阅读 · 0 评论 -
优化页面请求性能——防抖
防抖:就是在函数需要频繁触发时,只有经过足够的时间后,才执行一次。好像公交司机会等人都上车后才出站一样。应用场景:1.实时搜索2.拖拽以实时搜索为例子:以百度的实时搜索,我输入NBA的过程中,如果不做防抖处理的话,就会每次输入一个数据,就会发送一个网络请求个服务器,请求相关关键字的数据,在把页面渲染出来。但是,我们的本质是想要搜索NBA,在输入NBA的过程中,一定会触发3次input...原创 2020-04-26 22:17:04 · 283 阅读 · 0 评论 -
前后端配合跨域之jsonp原理 及 代码封装
关于jsonp的关键点:1.src属性不受同源策略的限制;(是get请求)2.后端传递到cb里的数据格式一般是json格式,如果是其他数据格式传输的数据是有限的3.动态创建script是异步加载数据,所以我们无法确定数据什么时候回来。所以,我们通过传递参数的形式把我定义好的回调函数的名字给传递给后端。4.前端定义好回调函数。5.后端拿到我们传递过去的回调函数的名字,然后帮我们拼接成函数指...原创 2020-04-24 12:15:13 · 269 阅读 · 0 评论 -
javascript之bind使用 与 实现
如果读者对bind的使用已经非常清楚了,就请直接拉到文章底部,bind源码供上;对于那些对bind使用生疏的读者,本人也提供了详细的bind的使用的介绍。话不多说,马上开始// bind:// 修改函数的this指向,然而不是修改这个函数本身的this;// bind执行后会返回一个新的函数,这个新得函数在执行的时候,this是被修改过的// 1.使用: var x = 10; ...原创 2020-02-08 01:01:11 · 189 阅读 · 0 评论