--> 2015/6/14 | IE FF与 Chrome 之间对Date对象参数识别的差异性
今天在工作中突然发现chrome 不仅可以识别YY/MM/DD HH:MM:SS格式,还可以识别YY-MM-DD HH:MM:SS 的格式,而IE FF 则只能识别YY/MM/DD HH:MM:SS
代码示例:
1 var date = new Date(‘2015/6/13 17:27:27‘).getTime(); 2 // Chrome IE FF 支持 3 4 var date2 = new Date(‘2015-6-13 17:27:27‘).getTime(); 5 // Chrome 支持 6 // IE FF 返回 NAN
--> 2015/10/12 | 对象的深拷贝 & IE8 CSS Hack
今天在工作中发现以前没有注意到地方,那就是如果将一个对象通过赋值运算符"="赋值给另一个变量或对象时,那么作为接收值的变量或对象中保存的并不是这个对象的值或数据,而只是保存指向这个对象的this指针而已。
例如:
1 var x = {‘a‘:1} 2 var y = x; // 变量y中保存的并不是对象x的内容,而是一个this指针,其源头任然是对象x
所以这样,一旦我们对变量y的内容进行了更改,那么作为源头的x对象也将发生变化。如果想让变量y可以保存对象x的内容,并且在更改操作变量y的时候,又不会对对象x进行改变,那么只能对对象进行拷贝了!
1 var copyObject = function(obj){ 2 var result = {}; 3 for(var x in obj){ 4 result[x] = typeof obj==="object" ? copyObject(obj[x]) : obj[x] 5 } 6 return result; 7 }
最后今天还收获了一个使用排除法来实现IE8的 CSS Hack
首先声明W3C的样式,然后写IE6 - IE10的样式,然后再单独设置 IE6、IE7、IE9、IE10的样式
这样最后剩下的就是IE8了
示例:IE8下字体颜色是红色、其它浏览器是黑色
HTML:
1 <p> Microsoft Internet Explorer 8 </p>
CSS:
1 color:black; /* W3C */ 2 color:red\9; /* IE6 - IE10*/ 3 *color:black; /* IE6 - IE7*/ 4 color:black\9\0; /* IE9 - IE10 */
--> 2016/5/20 | 浏览器调试技巧
01: $0 - 4
在chrome浏览器,F12控制面板,在element选项下,通过鼠标的点选后,在切换到console选项下,输入 $0-4 ,可以输出浏览器缓存的最后五次选择的元素。
02: console.table
以表格的形式输出数组或对象,但是只能对简单数据格式有很大的作用。
03: monitor
监测函数的参数与返回值。
使用方法:
先在控制台上输入: monitor(fnName); // fnName 要监控的函数名称。
然后 fnName(args); 然后去调用在这个函数,即可在控制台上打印相应的信息。
04: $() | $$()
在谷歌浏览器上可以像JQ一样使用 $(‘selector‘) 来查找DOM元素,
如果查找DOM元素有多个,可以使用 $$() 方式以nodeList形式返回所有DOM元素。
需要注意的是:JQ的$() 返回的是一个NodeList 或 HTMLCollection ,而浏览器自带的方法可以返回原生DOM对象。