web develop tools secrets: http://jinlong.github.io/blog/2013/08/29/devtoolsecrets/
1、Date
new Date(y,m,d);
new Date() 为当前时间
y == undefined || m == undefined || m == undefined 成立,则Invalid Date
Number(y) ==0 && Number(m) == 0 && Number(d) == 0 成立,则返回1900开始那天的前一天日期
new Date(y,0,0) y年开始那天的前一天日期 Number(m) == 0 && Number(d) == 0 即可
new Date(y,m,0) y年m月的最后一天 ,第三个参数 Number(d) == 0 即可
new Date(y,0,d) y年1月的d号 Number(m) == 0 即可
new Date(y,m,d) y年(m+1)月 d号
new Date(y,m) y年(m+1)月 1号
2、MVC
M :Model javascript里的实例相当于M层
V: view javascript里的数据,即属性,相当于面向过程中的变量;
C: control javascript里的逻辑
3、两个量互换 通过第三个变量来;对于有事件类的操作,对相同事件进行判断处理
常规的变量互换操作:
var m = 1,n = 2;
var c ;
c = m ;
m = n ;
n = c;
如下面是一段两个input获取焦点时候相互更改的代码
$(function(){ var $a = $('#txt1'); var $b = $('#txt2'); var cur = null; $(document).keyup(function(){ cur.val((cur == $a ? $b : $a).val()); }); $a.focus(function(){ cur = $b; }); $b.focus(function(){ cur = $a; }); });
4、关于预解释的那些事
if (!("a" in window)) { var b = 1; } console.log(b);
结果是undefined;因为预解释的原因
先var b ; // undefined
然后当只有为真的时候才能赋值 因此会造成结果是undefined 而不是 1