51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

jquery

JS实现只能调用一次的函数

JS实现只能调用一次的函数

厉飞雨 阅读(125) 评论(0) 赞(7)

<h2>源码 {#源码}</h2> <blockquote> <p>来自半年后的说明:我把代码转放到 gists 里了,当时代码风格受 Python 影响较大,这里就不再更改了,毕竟大家本地都有自己的格式化工具。</p> </blockquote> <p>前往<a href="h...

JS中的WeakMap与WeakSet

JS中的WeakMap与WeakSet

厉飞雨 阅读(136) 评论(0) 赞(9)

介绍 {#介绍} -------- `WeakMap`与`WeakSet`都是一种优化使用内存的解决方案。这两个数据结构的引用不会导致这些对象不被回收。上来就说这些有点太枯燥了,还是先聊聊它们能干什么。 WeakSet {#WeakSet} ------------------ 集合就是一堆互异的数据,想必这个读者都早就明白了,这里不多说。 相对于正统`Set`,`We...

JS图片预览

JS图片预览

厉飞雨 阅读(129) 评论(0) 赞(8)

今天给大家分享一个简单的小技巧,如何使用JavaScript实现图片预览功能(无需多余的加载,秒开)。通过简单的代码,可以轻松地在网页上预览图片,为用户提供更好的视觉体验。 1.效果展示 ------ ![IMG_5641.jpeg](http://static.51tbox.com/static/2024-11-29/col/19a723fd3a4bcd92a75adc5...

JS设计模式之原型模式

JS设计模式之原型模式

厉飞雨 阅读(135) 评论(0) 赞(25)

意图 {#意图} -------- > 用原型示例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 > > ------《设计模式:可复用面向对象软件的基础》中文版第89页 所以这里说的原型类似于对象的蓝图。但是,由于JS的灵活性,这个设计模式对于JS来说不是很重要。 > 因为在像C++这样的静态语言中,类不是对象,并且运行时只能得到很少或者得...

JS实现函数重载

JS实现函数重载

厉飞雨 阅读(103) 评论(0) 赞(9)

需求 {#需求} -------- 假设我们有这样一个数据(来源于参考文章中的*浅谈JavaScript函数重载*,链接在文章尾部给出): |---------------|--------------------------------------------------------------------------------| | ``` 1 2 3 ``` | `...

原生JS实现哈希路由

原生JS实现哈希路由

厉飞雨 阅读(146) 评论(0) 赞(7)

源码 {#源码} -------- 使用[Codepen在线体验](https://codepen.io/kifuan/pen/RwQjrzM)和查看源码。 页面代码 {#页面代码} ------------ 在我们用前端框架的时候,经常用到路由技术,就是在地址栏确实发生了变化但是页面没有刷新,那么本文就介绍通过更改哈希的方式实现这样一种路由,下面是页面代码: |---...

JS设计模式之单例模式

JS设计模式之单例模式

厉飞雨 阅读(122) 评论(0) 赞(8)

意图 {#意图} -------- > 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 > > ------《设计模式:可复用面向对象软件的基础》中文版第96页 这个概念有些类似于全局变量,它确保所有引用都访问到唯一的实例对象,这可以节省掉创建对象的开销。但是,相应地,在懒加载模式下,它也带来了检查是否已经创建对象的开销。所以还是要根据情况灵活选择...

JS设计模式之建造者模式

JS设计模式之建造者模式

厉飞雨 阅读(98) 评论(0) 赞(13)

意图 {#意图} -------- > 将一个复杂对象的构建与它的表示(即实例对象)分离,使得同样的构建过程可以创建不同的表示 > > ------《设计模式:可复用面向对象软件的基础》中文版第74页 这句话里包含着两个要素:第一个是分离构建与表示,也就是说我们要单独创建一个新的类`XxxBuilder`来进行构建操作;第二个是这个`XxxBuilder`...