轩枫阁

首页 / 授人以渔 (第3页)

如何在代码中减少if else语句的使用

前言

代码中嵌套的if/else结构往往导致代码不美观,也不易于理解。面向过程的开发中代码有大量的if else,在java中可以用一些设计模式替换掉这些逻辑,那么在js中是否也有类似的方法用来尽可能减少代码中的if/else嵌套呢?

有人认为:if else多就多呗,只要可读性强,维护起来方便。jQuery.fn.init里就是一堆if else判断,难道要质疑jQuery作者的水平了?

并不是说if else多就不好,关键是看用的地方,jQuery.fn.init里除了if else判断简洁点,难道要改成switch?就算用工厂模式,还不是得做大量的if判断。

常用方法

代码整洁强迫症患者必须要来个抛砖引玉:

1. 使用||或

查看全文

2016/04 24  周日

js时间Date对象介绍及解决getTime转换为8点的问题

前言

在做时间转换的时候,发现用“2016-04-12”转出来的时间戳是 2016-04-12 08:00的时间点,而不是0点。

fdbfdgbdf

fdhfh

最后发现,如果将日期格式换成“2016/04/12”,则正常换算成0点。

具体原因参见以下介绍 查看全文

2016/04 13  周三

jQuery的each中实现continue和break

jQuery中的each函数经常用来遍历DOM元素,在每次执行函数时,都会给函数传递传递当前的index和dom。

查看全文

2016/03 29  周二

浅析js随机函数Math.random()

随机数

随机数是统计学领域的一个重要概念,对于游戏来说同样意义非凡,用好随机数,可以使你的游戏更真实、更人性、富有魅力。

举例子来说:一个打靶游戏,子弹每次都命中准心所示位置是不科学的,加上抖动误差,会使真实感更加强烈;再如,抽奖大转盘程序,每当转盘停止转动时,指针恰好都指向奖品图片的正中点,人们会觉得这个转盘很不自然,指向一个随机位置效果要好得多。

学过 JavaScript 的人都知道,使用随机数很简单,只要一个 Math.random() 就可以获得一个大于等于 0 小于 1 的浮点数。从一个集合中随机选择对象时,使用浮点数离散化后的结果作为选择集的索引:

随机数的分布规律

前面代码中 Math.random()randomIndex 的取值,在「概率分布」理论中属于「连续型分布」和「离散型分布」,分布用来描述随机变量的概率性质。其中,不论是连续型还是离散型,均匀分布都是最最常用的分布类型(没有之一)。在大转盘的例子中,决定转盘「停在哪个奖品上」和「停到该奖品的哪个位置」,都可以采用均匀分布。

均匀分布的特点是:所有基本事件的可能性相等,以下是 100 万次 Math.random() 实验的取值发生次数直方图:

TB1NKjyKFXXXXXqXpXXXXXXXXXX-360-280

可以看出,即便是伪随机数,它的分布仍然是均匀到无可挑剔,如果样本数足够大,上面直方图将呈现出一条直线。

再考虑一下打靶游戏的例子,假设对命中准心所示位置做了「均匀分布」的抖动误差,来看看 2000 次实验之后的样子:

TB1xKYEKFXXXXbwXXXXXXXXXXXX-296-316

查看全文

2016/01 22  周五

JS实用技巧手记(七)

本系列文章旨在记录一些实用的javascript技巧,既可以作为一个知识的积累,又可以作为闲暇时打发时间写写代码的记录。同时也方便日后翻阅~

1. 操作DOM class

2. 分解url

3. 获取url参数

查看全文

2015/12 19  周六

纸飞机许愿

x

钢琴节奏

请选择弹奏的曲谱

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1
    • 2

    [返回曲谱列表]