随笔分类 - JS
摘要:示例代码: <template> <div class="it-bottom-button" :style="{ right: bottomBarRight }"> <slot></slot> </div> </template> <script> export default { name: "i
阅读全文
摘要:IntersectionObserver (自动监听元素是否进入了设备的可视区域之内) 示例: const io = new IntersectionObserver(callback, option); // 获取元素 const target = document.getElementById(
阅读全文
摘要:1、使用 Object.entries() 和 Object.fromEntries() // 将对象转换为数组并转换回来,以便于操作 const person = { name: 'jack', age: 20 }; const entries = Object.entries(person);
阅读全文
摘要:clmtrackr.js使用示例代码 html代码: <div class="video-con"> <video id="video" playsinline autoplay width="300" height="300"></video> <canvas style="visibility:
阅读全文
摘要:一、用浏览器内部转换器实现转换 代码: var HtmlUtil = { // 1.用浏览器内部转换器实现html编码 htmlEncode: function(html) { // 创建一个元素容器 var tempDiv = document.createElement('div'); // 把
阅读全文
摘要:Blob基本用法 创建 通过Blob的构造函数创建Blob对象: new Blob(blobParts[, options]) blobParts: 数组类型, 数组中的每一项连接起来构成Blob对象的数据,数组中的每项元素可以是ArrayBuffer(二进制数据缓冲区), ArrayBufferV
阅读全文
摘要:下面demo示例,只支持实例的then和catch,代码如下: function PromiseDiffer(fn){ var self = this; this.status = 'pendding'; this.value = undefined; this.reason = null; fun
阅读全文
摘要:七种错误类型如下: Error EvalError RangeError ReferenceError SyntaxError TypeError URIError 其中,Error是基类型(其他六种类型的父类型),其他类型继承自它。Error类型很少见,一般由浏览器抛出的。这个基类型主要用于开发人
阅读全文
摘要:使用JSON.parse(JSON.stringify(object))实现深拷贝局限 大部分情况我们都可以使用JSON.parse(JSON.stringify(object))来实现深拷贝,但该方法也有局限性,如下: 会忽略 undefined 会忽略 symbol 不能序列化函数 不能解决循环
阅读全文
摘要:实例 父页面发消息给子页面,子页面接收消息后回复父页面。 父页面代码: <body> 父级页面: <button id="btn">给iframe子页面传递消息button</button> <iframe src="index2.html" id="iframe1"></iframe> <scri
阅读全文
摘要:普通 script 先来看一个普通的 script 标签。 <script src="a.js"></script> 浏览器会做如下处理 停止解析 document. 请求 a.js 执行 a.js 中的脚本 继续解析 document defer <script src="d.js" defer>
阅读全文
摘要:常见的API扩展形式 prototype 比如我现在有一个需求,给定一个字符串,给方法传递一个参数为数字类型来确定当前字符串重复次数,例如: 'abc'.repeatStringNumTimes(3) // abcabcabc 如果按照一般的思维就是我们把这个方法绑定到String的原型上,如下代码
阅读全文
摘要:基本介绍 Math.sin(x) :x 的正玄值。返回值在 -1.0 到 1.0 之间; Math.cos(x) :x 的余弦值。返回的是 -1.0 到 1.0 之间的数; 其中函数中是x是指“弧度”而非角度。 弧度定义:两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆
阅读全文
摘要:前言 如下图: AMD与CMD的主要区别: 1. 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。不过 RequireJS 从 2.0 开始,也改成可以延迟执行(根据写法不同,处理方式不同)。CMD 推崇 as lazy as possible. 2. CMD 推崇依赖就近,AMD 推崇依赖
阅读全文
摘要:一个 HTTP 请求过程示例图: 一个 HTTP 请求需要经历以上过程,接下来看一个具体的例子: 名词解释: Queueing: 在请求队列中的时间。 Stalled: 从TCP 连接建立完成,到真正可以传输数据之间的时间差,此时间包括代理协商时间。 Proxy negotiation: 与代理服务
阅读全文
摘要:安装使用 使用npm安装: $ npm install axios 使用CDN: <script src="https://unpkg.com/axios/dist/axios.min.js"></script> get与post使用示例 执行 GET 请求: // 为给定 ID 的 user 创建
阅读全文
摘要:css实现: JS代码一: 注:正则表达式\b会把英文缩写,譬如I'm拆分成两个部分,导致输出为I'M,所以不能使用\b JS代码二: JS代码三: JS代码四: 注:\b:匹配一个单词边界,也就是指单词和空格间的位置。例如, 'erb' 可以匹配"never" 中的 'er',但不能匹配 "ver
阅读全文
摘要:浏览器 DNS缓存 浏览器DNS缓存的时间跟DNS服务器返回的TTL值无关。 注:TTL(Time-To-Live),就是一条域名解析记录在DNS服务器中的存留时间。 浏览器在获取网站域名的实际IP地址后会对其IP进行缓存,减少网络请求的损耗。每种浏览器都有一个固定的DNS缓存时间,其中Chrome
阅读全文
摘要:看一个如下的例子。在函数 foo 中,使用了一组 try 语句。在 try 中有 return 语句,finally 中的内容还会执行吗? 得到的结果是:a 0。 根据结果可以看出finally执行了,return语句也生效了。 虽然 return 执行了,但是函数并没有立即返回,又执行了 fina
阅读全文
摘要:类型 七种类型: Undefined Null Boolean String Number Symbol Object Undefined、Null 阅读问题:为什么有的编程规范要求使用void 0 代替undefined? Undefined类型表示未定义,它的类型只有一个值即undefined,
阅读全文