51工具盒子

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

jquery

JS设计模式之原型模式

JS设计模式之原型模式

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

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

JS关于或运算符的问题

JS关于或运算符的问题

厉飞雨 阅读(83) 评论(0) 赞(5)

背景 {#背景} -------- 这是在**AVL树** 计算高度时遇到的问题。为了方便大家看到问题的本质,这里使用一个**单链表**复现问题。 我们有一个链表,并且把它的深度储存到了每一个节点里(所谓深度就是它拥有的子节点层数,对于一个链表而言就是它的**长度减一**)。 复现 {#复现} -------- 先一个个函数来实现一个简单的链表。不直接说的原因是我想让读...

JS设计模式之装饰器模式

JS设计模式之装饰器模式

厉飞雨 阅读(131) 评论(0) 赞(10)

意图 {#意图} -------- > 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。 > > ------《设计模式:可复用面向对象软件的基础》中文版第132页 在Java中这样的设计可太多了,比如进行IO操作时的`XxxReader`,那么这里就模仿它进行一个应用。 示例 {#示例} -------- 如下: ...

JS的函数和this

JS的函数和this

厉飞雨 阅读(145) 评论(0) 赞(16)

背景 {#背景} -------- 我没有系统性的从头开始学过一遍JS,全凭之前学的其它语言,尤其是Python,直接上手操作了,所以留了不少的坑。 虽然对我来说是一个坑,但我觉得本文更适合放到学习的分类里。 给出下列代码。这里是对原问题的一个抽象,只是把问题的核心单独摘出来了: |------------------------------------|-------...

JS写睡眠排序

JS写睡眠排序

厉飞雨 阅读(63) 评论(0) 赞(12)

<h2>实现 {#实现}</h2> <p>代码看起来很简单,这里就直接给出来了:</p> <p>|---------------------------------------------------|-----------------------------------------------------------...

JS统计中英文字数

JS统计中英文字数

厉飞雨 阅读(80) 评论(0) 赞(11)

源码 {#源码} -------- > 来自半年后的说明:我把代码转放到 gists 里了,当时代码风格受 Python 影响较大,这里就不再更改了,毕竟大家本地都有自己的格式化工具。 点击[这里](https://gist.github.com/hikariyo/b838dff3bdf0d280b25f50a66abd699c)前往Github获取本文源码。 需求...

在JS中愉快地使用枚举

在JS中愉快地使用枚举

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

背景 {#背景} -------- 在JS中并没有原生枚举的实现,可以通过下面几种方法来模拟类似的操作。 直接使用字符串 {#直接使用字符串} ------------------ 上代码: |---------------------------------------|-------------------------------------------------...

JS迭代器和生成器

JS迭代器和生成器

厉飞雨 阅读(156) 评论(0) 赞(10)

背景 {#背景} -------- 遍历数组的时候,我相信大多数人已经用上ES6的`for...of`语法了: |---------------------|--------------------------------------------------------------------------------------| | ``` 1 2 3 4 5 6 ```...

关于JS执行顺序

关于JS执行顺序

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

<h2>背景 {#背景}</h2> <p>众所周知,JS是单线程语言,但它支持异步操作,其核心机制就是JS引擎的<strong>事件循环</strong>。</p> <p>先上一段代码:</p> <p>|----------------------------------...

JS函数无限柯里化

JS函数无限柯里化

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

<h2>不用箭头函数的实现 {#不用箭头函数的实现}</h2> <p>网上看到很多用箭头函数的版本,在看不懂的时候非常的眼花。</p> <p>所以在这里我选择先用纯粹的<code>function</code>配合<code>arguments</code>分析完原理,再...