我看到教程上写着
创建 Date 对象的语法:
var myDate=new Date()
我不明白为什么要加个new,两者结果不是差不多么
Sat Feb 25 22:07:34 2012
Sat Feb 25 22:07:14 UTC+0800 2012

解决方案 »

  1.   

    js创建对象一般有三种方式
    即:
    1、字面量;
    2、new关键字
    3、省略new
      

  2.   

    typeof Date()得到的是一个string,typeof new Date()得到的是一个object,前者获取的是一个日期对象转成的字符串果,后期得到的是日期对象。
    JS日期操作的各种toString()方法、get方法、set方法,只有日期对象适用,(你使用前者来试试日期加1天的操作就知道),这意味着没有new方式得到的那个字符串只有重新转成日期对象后才能进行。
      

  3.   

    哦,谢了,那为什么var arr=Date()的输出结果不是Sat Feb 25 22:07:34 UTC+0800 2012
      

  4.   

    日期对象有toString、toDateString、toUTCString等等等等,无new的Date()执行结果,我猜是看各浏览器各自高兴用哪个方法的缘故,论据它们的具体实现吧。
      

  5.   

    没有new是函数调用,有new时函数中this的意义不一样,是当前实例的对象的指针。
      

  6.   


    说的很对,问题是:this是什么日期对象运算中有什么意义或影响?请指教。
      

  7.   

    管它什么上下文环境和this是什么,这个对日期运算有什么影响?请指教。