月度归档:2013年07月

js获取年、月、日、时、分、秒,实时更新变化脚本

平时总遇到实时时间的脚本需求,没办法总结一个以供copy

var _date = new Date(),
    _year = _date.getFullYear(),
   _month = (_date.getMonth() + 1) < 10 ? '0' + (_date.getMonth() + 1) : (_date.getMonth() + 1),
     _day = _date.getDate() < 10 ? '0' + _date.getDate() : _date.getDate(),
   _hours = _date.getHours() < 10 ? '0' + _date.getHours() : _date.getHours(),
 _minutes = _date.getMinutes() < 10 ? '0' + _date.getMinutes() : _date.getMinutes(),
 _seconds = _date.getSeconds() < 10 ? '0' + _date.getSeconds() : _date.getSeconds();

setInterval(function() {
    document.getElementById('J_clock').innerHTML = _year + '年' + _month + '月' + _day + '日' + _hours + '时' + _minutes + '分' + _seconds + '秒';
}, 1000);

ThinkPHP开启调试模式之后无法访问问题解决方案

很久之后翻出自己曾经基于ThinkPHP开发rbac后台进行二次开发,可是莫名其妙的发现当开启调试模式之后页面首页无法访问了,经过一番又一番的折腾找到了原因,config.php不知道何时变成有BOM的UTF-8格式了,作为配置文件你懂得,瞬间豁然开朗,被BOM调戏不止一次了,虽然这个问题很小白,但还是有必要记录一下。

  1. config.php修改成无BOM的UTF-8格式

jQuery源码分析之数据类型判断方法——$.type()

无意中瞟到一眼jQuery源码发现type方法的代码怎么看着那么闹腾,于是乎研究了一下,虽然不知道其中原理,但是从此妈妈再也不担心我如何判断数据类型了。。。。

以前认为用typeof判断就ok了,想想真是图样图森破啊,请看示例:

typeof new Boolean(1)           = "object"
typeof new Number(1)            = "object"
typeof new String('a')          = "object"
typeof new function(){return 1} = "object"
typeof new Array('a','b')       = "object"
typeof new Date('Thu Jul 11 2013 11:51:31 GMT+0800(中国标准时间)') = "object"
typeof new RegExp(/a/)          = "object"

走到这突然发现尼玛怎么什么东西都是“object”,这不坑爹呢吗,最终翻来覆去研究jQuery源码曲奇精髓去其糟粕的总结出核心方法,请看示例:

Object.prototype.toString.call(new Boolean(1))        = "[object Boolean]"
Object.prototype.toString.call(true)                  = "[object Boolean]"
Object.prototype.toString.call(new Number(1))         = "[object Number]"
Object.prototype.toString.call(100)                   = "[object Number]"
Object.prototype.toString.call(new String("bbs0101")) = "[object String]"
Object.prototype.toString.call("bbs0101")             = "[object String]"
Object.prototype.toString.call(function(){return 1})  = "[object Function]"
Object.prototype.toString.call(new Array(1,2,3,4,5))  = "[object Array]"
Object.prototype.toString.call([1,2,3,4,5])           = "[object Array]"
Object.prototype.toString.call(new Date())            = "[object Date]"
Object.prototype.toString.call(new RegExp('bbs0101')) = "[object RegExp]"
Object.prototype.toString.call(/bbs0101/)             = "[object Regexp]"

走到这突然感觉豁然开朗,然开朗,开朗,朗。。。。。