三人行必有我师焉,择其善者而从之,其不善者而改之
三人行必有我师焉,择其善者而从之,其不善者而改之
三人行必有我师焉,择其善者而从之,其不善者而改之
三人行必有我师焉,择其善者而从之,其不善者而改之
三人行必有我师焉,择其善者而从之,其不善者而改之

  Date对象初始化Month,Day参数的奇葩设定的解释 作者:Neoxone    发表时间: 2014年08月16号,星期六     阅读:3,496 次  

new一个Date对象时,当以年份Y,月份M,日期D为参数传入来设定的时候,我们会发现:月份M是从0开始的,而日期D却是从1开始的。
即:M:0是一月,1是二月,11是十二月,但D:1 是一号,2是二号,31是三十一号。
如下:

是不是觉得很别扭,很奇葩?

对于习惯了以“一月”称呼“January”,“二月”称呼“February”的人来说,让”0″和”一”对应,”1″和”二”对应肯定是超级别扭啊,
但好在我们这种人还属于“猿”类,对于一个程序猿来说,数组的第一位肯定是0,我们晚上数sheep都是从0开始数的,而整个世界也是由0起源的(当然终极是42!)。

如果说程序界都是以0为基数的,那为什么Day又是从1开始呢?
那么我告诉你1Day其实根本不是数组的第一项,Sheep的第一只,一个月的第一天!和月份一样,日期的初始也是0!
当1Day完成的时候,时间就已经过去了二十四小时,一千四百四十分钟,八万六千四百秒了。
所以0Day才是days的开始,那么我们来看看0Day到底是什么时候,让我们从1Day开始往前回溯,慢慢走,时光在此倒流,直到我们来到EVE,其实我们将每一天的开始设在了前夜。
如果按小数来细分的话,每月1号的正午应该算是0.5号,而10号的下午6点就是九又四分之三号!

如果我已经把大家弄糊涂了的话,那么我是故意的,23333。。。

0Day的设计,其实还有一个巨大的好处,我们调用new Date就可以轻松拿到当月的最后一号,而不用你自己去考虑大小月、闰年2月。
如下:

码字充数:
在知乎上看见有人提问javascript 里面为什么不提供date的格式化函数?其实在Firefox上是提供了一个toLocaleFormat方法的。

参考: Date.prototype.toLocaleFormat()

   

  Unicode 的 Emoji表情字符 (另附QQ的Emoticons表情图) 作者:Neoxone    发表时间: 2014年05月9号,星期五     阅读:3,723 次  

Emoji表情对手机控们来说并不陌生,这套表情由日本人栗田穣崇(Shigetaka Kurit)创造,但俨然成了一种全球通用的语言,也难怪Unicode 6.0 中引入emoji表情到标准字符集,当然我个人觉得少不了Apple的推动。
Unicode 6.0.0

我将他们显示到下面(如果你用的是Mac系统或ios系统的safari浏览器,才有最佳效果。chrome浏览器几乎全部不能显示,Firefox和ie还行)

另外也附套QQ的自带表情(里面也包含Emoji)

   

  3D丝网 作者:Neoxone    发表时间: 2014年05月6号,星期二     阅读:3,659 次  

要求浏览器支持WebGL或Canvas,
太久没更新Blog了,拿来充个数,顺便测测手机下能有怎样一个效果。

   

  鲸鱼夫妇(Baby Whale) 作者:Neoxone    发表时间: 2013年07月9号,星期二     阅读:6,565 次  

已经把这个小东西发布到了chrome应用商店。大家可以在chrome浏览器上添加这个扩展应用。安装地址,当然,虽然只是个小东西,可改进的地方还有很多,我会不定时做些修改,如果你有什么改进想法,望不吝赐教。

   

  Opera:我的前任是极品 作者:Neoxone    发表时间: 2013年02月17号,星期天     阅读:6,487 次  

上个月,Opera发布消息称在2月份发布一款名为“Opera Ice”的移动端浏览器,将不采用自家的Presto内核,而改用开源的webkit,虽感意外,但只涉及Opera的一款新产品,据当时分析,其改用内核的目的是为了打入ios平台(关于为什么ios平台必须需要使用webkit内核,请参见这里),而对于Opera 3月份将发布的桌面版浏览器,分析称并不会改换内核。

接着这个月,更意外的是,Opera宣布将全面改换内核,包括mobile,包括desktop,都将放弃Presto,全面拥抱Webkit。瞬间,我又相信爱情了。

做为一个老用户(其时还未接触前端,不能称作开发者,是个小白用户),其实对于Opera(Presto)还是有蛮深的感情的,当年在用Opera的时候,我甚至还不知道有另一个大名鼎鼎的叫Firefox的浏览器呢(当时firefox2应该还没发布)。而且事实上,Presto也的确不是盖的,发布之初,便以轻型、快速、高效著称于世,但这些优点,带来的副作用就是在一些网页解析中的奇葩表现,如今随着HTML5的推进,浏览器已经不只是很简单的浏览功能了,Presto需要兼顾的东西也越来越多,另外V8等引擎的出现,更让其快速高效的头衔也已不保。Opera做为一个“小型”公司,在没有开源社区的帮助下,阵线太长无疑会很容易被击破。我以前说Presto是奇葩(你可以认为这是在赞美),但Presto并不是大熊猫(没有贬低国宝的意思),Opera也不是大熊猫保护中心(没这个实力),Presto走到这里,进化已经到了尽头。适者生存是永恒不变的真理。改用webkit,我觉得是Opera公司考虑自身实力和未来战略后作出的艰难抉择,并且是正确的选择。

下面我列下我发现的Opera的一些奇葩之处,以作纪念,未来的Opera即将看不见了这些奇葩了!

1: ie(9以下)用户请换浏览器

这是一个canvas的绘图代码,对照opera和其他支持canvas的浏览器,你会发现第二个绘制的弧线,它本来是应该和第一个的弧线是水平镜像的,而在opera下我实在不明白它是怎么就又按45度线做了一次镜像的。

2.

上面,数据是统一产生的,一个采用if语句判断,一个采用三目运算符判断,产生的结果本来应该是一模一样的。但就在opera下面,if的判断出的结果却出错了,你可以多点几次生成数据试试。

3,opera不支持onunload/onbeforeunload事件的捕获。

为了观察清楚,你可以用ctrl+shift+i打开控制台看看opera下面在关闭页签有没有输出。

最后,我承认标题党了,板砖轻砸。

   
1 / 2912345»...尾页 »