随笔分类 - javascript
摘要:css :root { --safe-area-inset-top: 0px; --safe-area-inset-right: 0px; --safe-area-inset-bottom: 0px; --safe-area-inset-left: 0px; --safe-area-inset-co
阅读全文
摘要:js 使用 ResizeObserver 时报错,代码实现逻辑如下: function observeVideoDom (width: number, height: number) { const videoDom = document.getElementById('videoDom') if
阅读全文
摘要:MDN官方文档 Object.is() 确定两个值是否为相同值。返回一个布尔值,指示两个参数是否为相同的值。 如果以下其中一项成立,则两个值相同: 都是 undefined 都是 null 都是 true 或者都是 false 都是长度相同、字符相同、顺序相同的字符串 都是相同的对象(意味着两个值都
阅读全文
摘要:背景 使用 h5 video 开发的页面,对于需要视频定帧的场景,会通过调用 video.pause() 来使视频暂停,然而,当切到后台再重新切回前台,video 会重新出发 timeupdate 事件,并将当前的时间提前 1-2s 左右,从而导致视频定的帧改变。 分析 该问题可能是浏览器内部原因,
阅读全文
摘要:在JavaScript中,我们可以在解构赋值语句中定义默认值。这就意味着,如果我们试图解构一个不存在的属性,或者属性值为undefined,那么我们可以为这个属性定义一个默认值。 这在处理JavaScript对象或数组时特别有用,因为我们可能会遇到这样的情况,即某些属性在某些情况下可能不存在或值为u
阅读全文
摘要:// myModule.js export { default as greeting } from './greeting.js'; export { add, subtract } from './math.js';
阅读全文
摘要:前言 有关设计模式的学习资料中,大部分都是以 java 语言实现的,毕竟 java 作为老牌面向对象的语言最能说明设计模式的核心概念,所以 js 的相关设计模式的学习资料也大多使用 class 类实现,本文记录下 js 使用函数实现策略模式和状态模式设计模式的方式,更有助于理解策略模式和状态模式如何
阅读全文
摘要:我的代码:通过 css 设置样式,当 body 属性 v-direction=1 时,设置一个高度,默认会设置一个高度 .container { .video-container { height: 400px; } } body[v-direction='1'] { .container { .v
阅读全文
摘要:转自:https://github.com/shfshanyue/Daily-Question/issues/203#issuecomment-888238489 /** * 深拷贝关注点: * 1. JavaScript内置对象的复制: Set、Map、Date、Regex等 * 2. 循环引用问
阅读全文
摘要:逻辑运算符 在 js 中,我们都知道有逻辑运算符,比如 逻辑与 ( && )、逻辑或( || )、逻辑非( ! )、空值合并运算符(??) 逻辑与 ( && ) 当且仅当所有操作数为 true 时,一组布尔操作数的逻辑与(&&,逻辑连接)运算结果为 true,否则为 false。 一般来说,当从左到
阅读全文
摘要:EventBus 一般用做单例,EventEmiter 一般在组件或模块内使用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-wid
阅读全文
摘要:// var 定义的变量会进行变量提升,声明被拿到函数或全局作用域的顶端,并输出 undefined // 函数声明也会进行提升,var 的变量提升会覆盖函数声明提升 console.log(" 0 ") var fn = function () { console.log("fn0-1") } f
阅读全文
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="wi
阅读全文
摘要:代码: // 自动导入插件 const autpImport = require('unplugin-auto-import/webpack')(...autoImportConfig) 报错 TypeError: Found non-callable @@iterator 原因: 使用 ... 扩
阅读全文
摘要:document.documentElement.getAttribute('data-xxx')
阅读全文
摘要:function foo(){ console.log(a) } function bar(){ var a = 2; foo(); } var a=1; bar(); 请说出上题最终会输出 a= ? 解析:词法作用域让 foo() 中的 a 通过 RHS 引用用到了全局作用域中的 a,因此会输出
阅读全文
摘要:在日常开发中,我们经常会用到 escape 和 encodeURI 和 encodeURIComponent 这三个方法对 url 或某些字符串进行转义,那这三个方法有什么区别呢? escape 官方文档:https://developer.mozilla.org/zh-CN/docs/Web/Ja
阅读全文
摘要:foo(); var a=true; if(a){ function foo(params) { console.log("a") } }else{ function foo(params) { console.log("b") } } 思考下,上面代码执行会输出什么? 再看下面的👇🏻执行会输出
阅读全文
摘要:isNaN(parseFloat(value)) && isFinite(value); 参考链接:https://blog.csdn.net/qq_23365135/article/details/123833406
阅读全文
摘要:flat 函数第一个参数为需要扁平化的数组,第二个参数为需要打平的层数,默认不传则打平一层,传入几则代表打平几层。 测试用例 const arr = [1, [2], [3, [4, [5]]]]; console.log(flat(arr)); // [1, 2, 3, [4,[5]]] cons
阅读全文