前端开发小结

一、日期Date

1.1 用字符串创建日期,不同分隔符创建出来时间有差异

差8小时。

1.2 Date.parse(timeStr)、dateObj.valueOf()时间基准是1970 01 01 08:00:00

dateObj.getUTCMilliseconds()、getMilliseconds()时间基准是 1970 01 01 00:00:00

now.getTimezoneOffset()     //-480  (分钟)

1.3 日期对象转换为yyyy-mm-dd字符串形式显示

now.toISOString()    //'2016-04-01T02:32:41.850Z'    本地时间 - 时间差 = UTC 时间;使用时需要注意

toLocaleString()  //返回数据形式跟浏览器有关,不可靠。

类型一:

类型二:

结论:最好自己写个函数,进行格式转化。[     getFullYear()      (getMonth() + 1) < 10 ? '0' + m : m       getDate()      ]

1.4 datetimepicker

未设置format的datetimepicker:

value属性值与datetimepicker的‘setDate’设置的时间及format属性都相关

监听datetimepicker面板日期的点击的函数中,ev.date 有时候会在本地时间的小时基础上,加8个小时(东八区)

var utcDate = ev.date.valueOf() + (ev.date.getTimezoneOffset()*60*1000);

二、状态和事件触发

1. 不同浏览器对 $('#selectID').attr('selected',true)支持效果不一致,有的属性修改成功,但是页面显示仍未生效。

.prop('selected',true) //对于radio、option等具有 true 和 false 两个属性的属性,如 checked, selected,使用prop效果比较好

2. 手动设置显示效果(属性)改变,记得手动触发该状态改变绑定的函数。

3.防止重复点击:

①选中后就禁用:disabled, 修改鼠标指针悬停的效果: style="cursor:default"

②无法在radio的onclick属性中绑定的函数再去判断该按钮上一次是否被选中了。一旦触发,按钮属性已经更改为被选中状态。

哪怕这么写: onclick=“获得被选中radio; doSome(){if(被选中的不是当前radio){……//永远无法执行}}”

三、回调函数

回调函数的参数,是在函数体内部传入的。所以并不存在“显式地给回调函数传参”

1 function say(name){
2     console.log("Hello! I am " + name)
3 }
4 
5 function func1(name,callback){
6     callback(name);//给回调函数传参
7 }
8 
9 func1('luck',say);// 直接传入指向函数对象的变量say即可
原文地址:https://www.cnblogs.com/yongwangzhiqian/p/5343889.html