一、下面的结果返回的结果
var a = new Date("2014-03-19");
var b = new Date(2014,03,19);
a.getDay() == b.getDay();
a.getMonth() == b.getMonth();
解答:
在利用Date对象时其中有几种传值的方式:
(1)new Date("2014-01-19")
(2)new Date("2014/01/19")
(3)new Date("month dd,yyyy hh:mm:ss");
(4)new Date("month dd,yyyy");
(5)new Date(yyyy,mth,dd,hh,mm,ss);
(6)new Date(yyyy,mth,dd);
(7)new Date(ms);
//上面的传递mth是0-11
在上面传递的参数中,字符串中传递的月份就是真是的月份,所以利用getMonth()方法获取的值就是month -1 ,但是在传递的是数值的几种情形中,getMonth()返回的值和传递的是一样的,所以a中的getMonth返回2,b的返回3,月份的不一样导致星期也不一样。
在传参的过程中当传递的日期的值为0时最为当月的最后一天,-1则为倒数第二天,-2等则同理。
上面的参数中传递秒数的方式是兼容性最好的。
二、use strict 是什么?有什么好处和坏处?
解答:
use strict表示的是JS运行是子严格模式下
好处:
(1)在严格模式下,可以减少以下不规范、不严谨的语法,较少怪异行为
(2)消除代码的一些不安全操作,保证代码运行的安全性
(3)提高代码的编译效率,增加代码的运行速度
(4)为新版本的javascript做铺垫
坏处:JS文件通常会进行压缩合并,所以当有些文件中包含有use strict时,这时会使得use strict到文件中间不仅起不了作用同时还会浪费字节,因为use strict只有在整个文件的开头或者是函数体的起始位置时才会起作用,在文件其他位置将不会起作用。
三、实现整数的千分形式
思路:将整数装换为字符串形式,然后利用字符串倒叙截取
function toThoundans(num){
num = num.toString();
var res = "";
while(num.length > 3){
res = "," + num.slice(-3) + res;
num = num.slice(0,num.length-3);
}
if(num){
res = num + res;
}
return res;
}