---【JavaScript】
文章平均质量分 72
FBm2016
君子终日乾乾,夕惕若厉,无咎
github地址:https://github.com/FBmm
展开
-
Promise.all、Promise.allSettled、Promise.race、Promise.any 区别
Promise.all返回所有 Promise(p1,p2,p3) 实例的新 Promise。当所有 Promise 实例都变成 fulfilled 状态,新 Promise 的状态才是 fulfilled 状态,返回所有 promise 实例的 resolve value 数组。如果有一个 Promise 实例状态是 rejected 状态,则新 Promise 的状态是 rejected,返回第一个 promise reject 的 reason。Promise.allSettled返回原创 2021-02-22 19:33:41 · 868 阅读 · 0 评论 -
Generator函数同步执行异步操作详解
下面代码,首先声明一个 generator 函数 gen,目的是让第一个 yield 语句返回 Promise 的结果,再同步打印结果。function* gen() { console.log('starting') const result = yield asyncFn().then(value => { g.next(value) }) console.log('end:', result) // 1s后打印 end: promise value}const g原创 2021-02-16 19:50:21 · 466 阅读 · 0 评论 -
Promises/A+翻译和解释
Promise是异步编程的一种规范,Promises/A+【Promises/A+】翻译A promise represents the eventual result of an asynchronous operation. The primary way of interacting with a promise is through its then method, which registers callbacks to receive either a promise’s eventual原创 2021-02-10 15:20:42 · 794 阅读 · 0 评论 -
浅谈 Object.prototype.toString.call()
浅谈 Object.prototype.toString.call()今天学习 vue 看 node_modules 源码,看到 shallow-clone、以及 clone-deep 时,isPlainObject() 方法源码中使用 Object.prototype.toString.call(o) === ‘[object Object]’ 判断 o 是否是对象。所以后面将自己的理解...原创 2019-11-20 16:52:58 · 1238 阅读 · 0 评论 -
从零开始学前端:javascript解析与执行过程
预处理(编译)创建一个词法环境,对所有声明的变量和函数(var 表达式和 function 声明)进行处理,并添加到词法环境中。词法环境将var创建的变量和声明方式创建的函数提到作用域最前面变量只进行声明,默认值为undefined函数则指向函数的一个引用变量console.log(a); // 控制台打印 undefinedconsole.log(b); // 控制台打印 u...原创 2018-09-19 16:13:02 · 333 阅读 · 0 评论 -
js正则实例
javascript正则表达式匹配、替换、分组规则积累日期格式处理var dateStr = '2018-08-08';var res = dateStr.replace(/[\D]/g,"").slice(0,8).replace(/(\d{4}[\D]*)(\d{2}[\D]*)(\d{1,2}[\D]*)/,"$1/$2/$3");console.log(res)//...原创 2018-08-08 11:36:52 · 317 阅读 · 0 评论 -
js事件传播机制之冒泡事件详解
事件流是事件从页面接受并传播的过程,主要分三个阶段:事件捕获阶段、目标事件阶段、事件冒泡阶段。事件捕获:事件的传播从最不特定的事件目标到最特定的事件目标。即从DOM树的根到叶子。(最外层到触发元素)原创 2018-06-21 11:21:54 · 931 阅读 · 0 评论 -
js异步提交form表单之serialize()方法及FormData对象
serialize()和FormData对象都可将表单数据序列化,后通过ajax异步提交,但二者有实质区别:1 serialize() serialize()是JQuery方法,可序列化表单值创建 URL 编码文本字符串,就是将表单数据以字符串的形式返回。 缺点:只能序列化一般数据,文件上传则无法序列化。 用法:<form id="form"> <inp...原创 2018-04-18 17:00:40 · 18497 阅读 · 1 评论 -
JavaScript正则表达式学习
学习路线:1 正则表达式是什么?-->2 为什么会有正则表达式?-->3 正则表达式的优缺点?-->4 正则表达式用法一 正则表达式是什么?原创 2017-12-27 11:28:18 · 578 阅读 · 0 评论 -
JavaScript中prototype用法
转载来源:http://blog.csdn.net/jasonzds/article/details/537069581 概述大部分面向对象的编程语言,都是以类class作为对象的基础语法,js语言不是如此,它的面向对象编程基于‘原型对象’。首先说说构造函数的缺点:js通过构造函数生成新的对象,因此构造函数可以视为独享的模版。实例对象的属性和方法,可以定义在转载 2017-11-17 19:38:47 · 380 阅读 · 0 评论 -
js 匿名函数及闭包
对javascript匿名函数的理解(透彻版) 网上很多解释,我无法理解,我想知道原理。。。这篇文章应该可以透彻一点 Query片段: view plaincopy to clipboardprint?(function(){ //这里忽略jQuery所有实现 })(); (function(){ //这里忽略jQuery所有实现 })(); 半年前初次接触jQuery转载 2017-11-17 15:28:22 · 324 阅读 · 0 评论 -
js window对象知识整理
W3C定义:Window 对象表示浏览器中打开的窗口。菜鸟教程:如果文档包含框架(<frame> 或 <iframe> 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。(所有浏览器均支持window对象)window对象是所有浏览器对象的核心,在JavaScript中一切全局变量和属性都是window的属性。原创 2017-11-17 13:01:39 · 409 阅读 · 0 评论