老板:让文章和公司介绍可以被读出来。和公众号一样的效果
最近碰到一个需求,要实现和微信公众号一样的阅读全文的功能。 然后找到了 window.speechSynthesis 这个API,在翻阅大量资料和网站后,发现在很多资料里,关于这个api的描述都不是很齐全,或是属性值的区间没有描述,或是浏览器的支持情况没有描述。好嘛,我自己总结一个嘛。 概念介绍 window.speechSynthesis window.speechSynthesis 是 HTML5 推出的 Web API 。在支持该...
try catch 应该在for循环里面还是外面?
首先,我们得明白try catch是干啥用的。简单来说,try catch是JavaScript中的一种错误处理机制,用来捕获并处理在程序执行过程中发生的异常。 如果没有try catch,程序在遇到错误时会直接崩溃,用户体验可想而知。因此,使用try catch可以提高程序的健壮性和用户体验。 接下来,我们来看看几个try catch的应用。 情景一:循环中任意一次出错都不影响其他循环 假设我们有一个循环,需要对一组数据进行处理,即使...
如果一个NPM包部分功能不满足需求,如何修改其部分功能
对第三方包进行修改以适应特定需求是一个常见的场景。尽管直接修改 node modules 中的代码是可能的,但这种做法并不推荐,因为这些改动在下次运行 npm install 或更新包时会丢失。 接下来的内容中,我们将来讲解一下处理这种情况的几种推荐方法。 最常见的方法就是 Fork 源代码,通过在 GitHub 上或其他托管平台上 Fork 第三方包的源代码库。对其源代码进行修改,修改完成后将修改后的包发布到 npm 上。如果你不希望...
简单了解Javascript的new关键字
前言 当我们在 JavaScript 中使用 关键字调用一个函数时,它不仅仅是一个简单的函数调用。 的作用是创建一个新的对象实例,并且在函数内部, 关键字会指向这个新创建的对象。让我们来深入了解 的工作原理和它如何影响函数的执行。 创建空对象 1. 对象字面量方式: 这种方式是创建一个空的 JavaScript 对象。对象字面量是一种简便的方式来创建对象,可以直接在大括号 内指定对象的属性和方法。 2. 使用 方式: 这种方式使用 关键...
都应该会的前端代码规范
在前端开发中,随着项目迭代升级,日志打印逐渐风格不一,合理的日志输出是监控应用状态、调试代码和跟踪用户行为的重要手段。一个好的日志系统能够帮助开发者快速定位问题,提高开发效率。本文将介绍如何在前端项目中制定日志输出规范。 1\. 日志等级 首先,我们需要定义不同的日志等级,以便根据消息的重要性进行分类。通常,日志等级从低到高可以分为以下几类: DEBUG: 详细的开发时信息,用于调试应用。 INFO: 重要事件的简要信息,如系统启动、配...
🌟纯前端如何实现Gif暂停、倍速播放🌟
前言 我相信大家都不会陌生,由于它被广泛的支持,所以我们一般用它来做一些简单的动画效果。一般就是设计师弄好了之后,把文件发给我们。然后我们就直接这样使用: 这样就能播放一个 ,不知道大家有没有思考过一个问题?在播放 的时候,可以把这个 暂停/停止播放吗?可以把这个 倍速播放吗?听起来是很离谱的需求,你为啥不直接给我一个视频呢? anyway,那我们今天就一起来尝试实现一下上述的一些功能在 的实现。 ImageDecoder 首先先来了解...
MutationObserver
是一个在浏览器环境中一种用于监听DOM变化的JavaScript API,它可以用于监听 DOM 树中指定节点及其子节点的变化,当节点内容、属性、子节点结构等发生改变时,它可以及时检测到并触发回调函数。这对于前端开发来说非常有用,可以被用来监控 DOM 变化、异步数据加载和自定义组件等场景。 基本用法 上面的代码创建了一个 实例,并将其绑定到一个目标节点上。当目标节点或其子孙节点发生变化时, 实例会调用传入的回调函数,其中参数 是一个...
一篇弄清楚JavaScript中的 this到底指向谁
为什么要有this 1.为了让对象中的函数有能力访问对象自己的属性。 例子 如果我们想要在对象内部方法中使用对象内部的属性,就像图中的代码,它是可以在C语言里运行的,但是在JS中不可行,JS它需要使用this机制来访问(图中的myName) 2.this可以显著的提升代码质量,减少上下文参数的传递。 这种显示传参的方法有点啰嗦,如果我们采用this的话,那么就会优雅,方便很多。 运行结果是一样的 this的使用场景 可以产生作用域的地方...
如何使用CSS混合模式和SVG来动态更改产品图片的颜色
今天跟大家分享一个与业务场景紧密结合的案例,即动态更改产品图片的颜色,它非常适用于诸如美妆的应用中。我曾在《 》小册的《 》和《 》小册的《 》中介绍了多种不同方式实现动态更改产品图片颜色的技术方案。今天,在这里,我将向大家分享如何使用 CSS 混合模式和 SVG 来实现。如果感兴趣,请继续往下阅读: 使用CSS混合模式和SVG来改变沙发颜色案例 我们接下来要实现的效果如下: Demo 地址: 是不是很有意思。其实在实际场景中也有类似的...