提到JavaScript下的setTimeout()
与setInterval()
函数,接触过JavaScript的读者一定非常熟悉:两个函数都接收一个函数和一个延时两个参数,前者用于设置超时,后者用于设置定时执行。但其实这两个函数除了以上两个参数外还有第三个参数。
继续阅读 浅谈setTimeout与setInterval函数『不为人知』的第三个参数
在JavaScript中,我们通常使用this.select()
实现可编辑文本框中的全选操作,但对于通过添加contenteditable="true"
参数来实现可编辑的span
标签,这个方案却并不能奏效,需要多写一些代码来实现相同的功能。这篇文章为大家分享一种在可编辑的span
标签内实现全选的方法。
继续阅读 JavaScript实现点击contenteditable的span标签后全选标签文字,类似于this.select()方法
在开发一个前端表单过程中,我使用了正则表达式对用户填写的内容进行校验,却在使用过程中发现了奇怪的现象:RegExp类的test()方法对同一字符串,在不同时间竟有不同的结果。本文将为读者分享我解决这一问题的方法及其背后的原理。
继续阅读 [源码级解析]分析并解决JavaScript里RegExp类中test()方法结果不固定的情况及其源码解析
尽管大多数浏览器中内置的DevTools为日常开发和调试带来了巨大便利,但在某些需要保证『安全性』的场合,例如在线考试、在线教育、或是一些行业应用,我们也对DevTools『恨之入骨』:抓包、修改数据、插入恶意代码、查看源码、Debug深入原理……
但其实屏蔽DevTools的方法非常简单,简单到只需要三行代码。
继续阅读 三行JavaScript代码屏蔽浏览器的DevTools,保障前端页面的基础安全
在『如何使用JavaScript判断一个值是否在一个数组中』一文里,我提到了使用Array.prototype.includes()
、Array.prototype.indexOf()
两种方法来实现这一需求,但其实对于JavaScript这样一门极为灵活的语言来说,实现方法远不止以上两种。
继续阅读 如何使用JavaScript判断一个值是否在一个数组中(续)—— JavaScript&TypeScript中的迭代器
JavaScript由于一些历史遗留原因,其API实在太乱,导致了在其他语言中形成的直觉,很难在JavaScript中找到对应的方法。判断一个值是否在一个数组中,这一简单的需求,背后其实有一个非常大的坑。
继续阅读 如何使用JavaScript判断一个值是否在一个数组中
在网页中应用渐变效果,能够使网页的交互性与美观性得到增强,但是由于JavaScript的一些特点,渐变效果远不止for循环这么简单,不过掌握规律后,其实也并不复杂。这篇博文便来给大家提供一个实现透明度渐变效果的例程以供参考。
继续阅读 原生JavaScript实现透明度渐变效果