我刚开始学javascript,看见别人代码有Math.ceil(new Date()/3600000),Date对象能直接用除法操作?难道把Date当成了numbe吗?

解决方案 »

  1.   

    应该是可以吧,new Date()的返回值是一个毫秒级的时间差。
      

  2.   

    那个时间差是多少呢?不是返回一个date对象的吗?
      

  3.   

    Math.ceil(d/3600000)等价于Math.ceil(d.getTime()/3600000))javascript根据操作的类型自动调用了getTime方法返回毫秒计数了吧。。
      

  4.   

    会自动进行类型转换的 
    将new Date()转换为new Date().getTime()
      

  5.   

    javascript在进行算数运算时会把操作符两边的值进行转换,弱能转换为数字则用转后的数字进行运算,否则返回NaN,而时间对象在进行转换时是调用其getTime()方法,方法返回时间对象到 1970年1月1日0时0分0秒 的毫秒数,是一个大整数。var d=new Date();
    alert(Number(d)===d.getTime());
    alert('1'*1);
    alert('a'*1);