随笔分类 - javascript
摘要:History API History 作为一个全局变量(即 window.history),不继承任何属性,在 html4 时代就已经存在,通过这个接口,我们可以操纵浏览器中曾经访问过的会话历史记录,但当时我们能使用的属性与方法只有这么几个: History.length 属性: 返回一个整数,该
阅读全文
摘要:函数式编程比较复杂比较枯燥,但是为了了解react和redux,如果没有函数式编程的理论铺垫,很难学好他们。 函数式编程在js当中是一个比较抽象的概念,大家在以前可能听说过函数式编程,但是可能并没有系统的去了解过他们。 函数式编程和面向对象编程一样,是一套编程范式,你可以根据函数式编程的理论为你的代
阅读全文
摘要:JavaScript DOM 编程 DOM - D:文档 - html 文档或 xml 文档 - O:对象 - document 对象的属性和方法 - M:模型 - DOM 是针对 xml 的基于树的API - DOM 树:节点的层次 - DOM 把一个文档表示为一颗家谱树(父,子,兄弟) - DO
阅读全文
摘要:Promise 是 ES2015 新增的对象 Promise 对象有几个组合方法,可以将多个承诺合并成一个进行处理 分别是 Promise.all, Promise.race, Promise.allSettled, Promise.any 这些方法都可以接收一组承诺,返回一个新的承诺 Promis
阅读全文
摘要:一般表单页面都需要填写手机号,校验用户输入的手机号码是否正确,就要用到正则表达式,用正则表达式来匹配手机号段,如在运营商号段内,则号码正确。因此,需要知道运营商最新的号段,如下所示: 各大运营商手机号码段(新) 中国电信号段 133、153、173、177、180、181、189、190、191、1
阅读全文
摘要:导读 在开发中,有时,我们花了几个小时写的js 代码,在游览器调试一看,控制台一堆红,瞬间一万头草泥马奔腾而来。 至此,本文主要记录js 常见的一些错误类型,以及常见的报错信息,分析其报错原因,并给予处理方法。并且将介绍几种捕获异常的方法。 常见的错误类型 RangeError: 标记一个错误,当设
阅读全文
摘要:切入点从场景描述出发,即先定义好我们要实现的功能 执行器函数 构造函数入参 executor 自执行函数。会在在 new 的时候同步执行,传入 resolve 和 reject 状态扭转函数。自执行函数内部根据异步任务执行结果(成功或失败)调用状态扭转函数,把状态传递给后续的 then。 状态转化
阅读全文
摘要:众所周知,JavaScript 浮点数运算时经常遇到会 0.000000001 和 0.999999999 这样奇怪的结果,如 0.1+0.2=0.30000000000000004、1-0.9=0.09999999999999998,很多人知道这是浮点数误差问题,但具体就说不清楚了。本文帮你理清这
阅读全文
摘要:JavaScript中有多种循环Array的方式,你是否常常分不清他们的细微差别,和适用场景。本文将详细梳理各间的优缺点,整理成表以便对比。 循环可访问element可访问index可迭代property支持中断支持await支持任意位置开始 for √ √ × √ √ √ for in √ × √
阅读全文
摘要:1. 转字符串 const input = 123; console.log(input + ''); // '123' console.log(String(input)); // '123' console.log(input.toString()); // '123' 2. 转数字 const
阅读全文
摘要:前言 首先,我们看一下微信开放文档中的一张图: 上面的一幅图中清楚地介绍了微信登录整个过程,下面对图上所示进行总结: 一、二维码的获得 用户打开登录网页后,登录网页后台根据微信OAuth2.0协议向微信开发平台请求授权登录,并传递事先在微信开发平台中审核通过的AppID和AppSecrect等参数;
阅读全文
摘要:1. 使用元素位置判断元素是否在当前视区 这种方法实现起来比较简单, 我们一步一步来。 首先:编写一个 util 函数 isVisible,它将仅接收一个参数,即 element。 export const isVisible = (el) => { }; 使用 getBoundingClientR
阅读全文
摘要:1.关于JavaScript JavaScript是一门单线程语言,在最新的html5中提出了Web-Worker,但javascript是单线程这一核心仍未改变。所以一切javascript版的"多线程"都是用单线程模拟出来的,一切javascript多线程都是纸老虎! 2.javascript事
阅读全文
摘要:1.返回值(最常用) //1.返回值 最常用的 function fn(){ var name="hello"; return function(){ return name; } } var fnc = fn(); console.log(fnc())//hello 这个很好理解就是以闭包的形式将
阅读全文
摘要:JavaScript是一门动态语言,所谓的动态语言可以暂时理解为在语言中的一切内容都是不确定的。比如一个变量,这一时刻是个整型,下一时刻可能会变成字符串了。虽然变量的数据类型是不确定的,但是各种运算符对数据类型是有要求的。如果运算符发现,运算子的类型与预期不符,就会自动转换类型。 本文主要介绍数据类
阅读全文
摘要:1. 获取一个随机布尔值 (true/false) 这个函数使用 Math.random() 方法返回一个布尔值(true 或 false)。Math.random 将在 0 和 1 之间创建一个随机数,之后我们检查它是否高于或低于 0.5。这意味着得到真或假的几率是 50%/50%。 const
阅读全文
摘要:在开发网页的时候少不了图片,展示图片时自然会遇到缩放问题。一般情况下只要我们的图片宽高比例差不多时,缩放是没有问题的,展示不太影响美观。但是有一些网页对这个要求比较高,要求图片不能变形,缩放一定按比较展示,还不能影响网页整个布局。网上给到一些 css方法都试过,均不能实现目的,所以特地使用js来实现
阅读全文
摘要:一、前言 在开发过程中,有时会遇到需要控制任务并发执行数量的需求。 例如一个爬虫程序,可以通过限制其并发任务数量来降低请求频率,从而避免由于请求过于频繁被封禁问题的发生。 接下来,本文介绍如何实现一个并发控制器。 二、示例 const task = timeout => new Promise((r
阅读全文
摘要:一、什么是 aja? 是一种异步请求数据的web开发技术,它可以在不提交整个页面的情况下,向服务器发送请求,实现页面的局部刷新 目的:可以带来更好的用户体验,按需获取数据,节约带宽资源 二、ajax的原理? 首先举个例子:假如领导想让小王汇报一下工作,就委托秘书去叫小王,自己接着做其他事情,直到秘书
阅读全文
摘要:方括号语法的局限性 通常按索引访问数组元素的方法是使用方括号语法 array[index]: const fruits = ['orange', 'apple', 'banana', 'grape']; const item = fruits[1]; item; // => 'apple' 表达式
阅读全文