随笔分类 - javascript与前端基础系列
摘要:### 手写数组常见方法 ```js // 数组map Array.prototype.myMap = function (callback) { const arr = [] for (let i = 0; i { return pre.concat(Array.isArray(cur) && d
阅读全文
摘要:物理像素(physical pixel)、设备独立像素(density-independent pixel)和css像素 物理像素又被称为设备像素,它是显示设备中最微小的物理部件,每个像素可以根据操作系统设置自己的颜色和亮度。 设备独立像素又被称为密度无关像素,可以认为是计算机坐标系统中的一个点,这
阅读全文
摘要:最近项目中用到了http请求的并发、重试和超时,虽然现有的很多库都可以直接拿来用,但是我们今天还是手动来实现一下,看看背后的实现逻辑。以后使用到的时候可以直接改造。http请求可以使用promise模拟,代码如下: 请求并发 // http请求并发控制参考代码 function concurrent
阅读全文
摘要:今天做了两道编程题,拿到题目的第一感觉是真tm简单。经过这半年多被无情的吊打,已经开始怀疑人生了,今晚突然来这么一下,这久违的感觉,舒服~,就感觉自己还是能做一些事情的。但是故事并没有像我们想象的那样发展,明明知道它简单容易,却就是不能快速搞定它,或者说不能把它做好,做到自己都开始崇拜自己。这是什么
阅读全文
摘要:写在前面 2021年的第一个月过去了,只产出了一篇2020年的年终总结。博客数量产出为啥变得少了?一方面与年底加班多有关系,不过github我依旧每天都会提交代码,不曾懈怠。为什么要每天都提交代码呢?我渴望改变,渴望提升,渴望成长,当然也很热爱前端。另一个方面是自己想法改变了,看了自己过去2年写的博
阅读全文
摘要:什么是事件? 事件是您在编程时系统内发生的动作或者发生的事情,系统响应事件后,如果需要,您可以某种方式对事件做出回应。浏览器和Node的事件有所不同 使用方式不同。浏览器中使用dispatchEvent 来发布事件,使用addEventListener来绑定并监听事件。Node中使用emit触发事件
阅读全文
摘要:模块化发展历程 IIFE: 使用自执行函数来编写模块化,特点:在一个单独的函数作用域中执行代码,避免变量冲突。 (function(){ return { data:[] } })() AMD(Asynchronous Module Definition): 使用requireJS 来编写模块化,特
阅读全文
摘要:前言 作用域和作用域链说白了还是函数和对象之间的关系,作用域即执行环境 浏览器中存在全局执行环境的上下文变量window node中存在全局执行环境的上下文对象global,模块的全局执行上下文对象module 下面是一道题目,输出打印的结果 console.log('this',this); //
阅读全文
摘要:每一个函数都会自带3个属性(construtor,__proto__,prototype) 每一个对象都会自带2个属性(constructor,__proto__) 什么是constructor、什么是__proto__、什么是prototype? 它们之间的关系是怎样的? 它们的作用是什么? __
阅读全文
摘要:变量类型判断方法 Object.prototype.toString.call(),例如 Object.prototype.toString.call('hello'); // "[object String]" Object.prototype.toString.call({name:'jack'
阅读全文
摘要:四种方法 /** * 数字金额化: * @param {*} num * 入参: 数字,例如:459087578 * 出参:字符串并逗号分割,例如:89,459,087,578 */ /** * 方法一 */ function num2amount1(num){ num += ''; let ans
阅读全文
摘要:原文地址: What Is Webpack and How Does It Work WebPack基本上是模块或模块捆绑器的包装器,但是由于其组件之一即插件,可以用作任务执行器,即我们可以执行各种任务,例如移动目录,清理等。 要了解什么是Webpack,让我们分析一下此图。 Webpack概念 为
阅读全文
摘要:原文地址:What Does Webpack Do, and How Do I Use It for My Website? Webpack是一个实用插件,它可以将Javascript文件打包在一起。这样可以使你的应用程序更具有组织性和生产力,这也允许你使用预处理语言,像SASS和TypeScrip
阅读全文
摘要:浏览器自定义事件通信示例 window.addEventListener('hello',(e)=>{ console.log(e.detail) }); window.dispatchEvent(new CustomEvent('hello', {detail:{name:'张三'}})) Nod
阅读全文
摘要:通过location.search可以获取到url拼接的参数(前面带有?号) function getUrlParams(name) { let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); let param = window.l
阅读全文
摘要://法一 const isArray1=function(value){ return Object.prototype.toString.apply(value) '[object Array]' } //法二 const isArray2=function(value){ return Arra
阅读全文
摘要:原文地址:Understanding the Event Loop, Callbacks, Promises, and Async Await in JavaScript 作者选择了COVID-19救济基金来接受捐赠,这是Write for DOnations计划的一部分。 介绍 在互联网的早期,网
阅读全文
摘要:github仓库地址:JS 判断当前终端是Android还是IOS // IOS const isIOS = () => { if (typeof window.navigator.userAgent !== 'string') return false; const u = window.navi
阅读全文
摘要:Promise基本使用 new Promise((resolve,reject)=>{ resolve() }).then(res=>{ }).catch(err=>{ }).finally(()=>{ }) then和catch方法 Promise 的状态一经改变就不能再修改。 .then 和 .
阅读全文
摘要:原文地址:Promises in JavaScript 现实生活中的承诺只是对“一些事情”的保证。因此,当有人向您承诺时会发生什么? 他们为您提供保证,您可以以此为基础进行提规划。 现在,诺言可以兑现也可以违背。 因此,当您信守诺言时,您会期望从诺言中得到一些东西。 您可以将promise的输出用于
阅读全文