var year = new Date();
var year2 = year.getYear();
var year3 = (year < 2000) ? year2 + 1900 : year2; //用Date对象和数字比较,比较的是什么?望高手指点!

解决方案 »

  1.   

    year.getYear()这句其实获得Date对象的年的字段
    你下面的比较应该是数字之间的比较。
      

  2.   

    不对啊
    我试过了,代码如下:
    var year=new Date("1985","7");
    if(year>2000){
    alert("大于");
    }else{
    alert('小于')
    }

    //结果:输出"大于",1985应该比2000小啊?
      

  3.   

    汗,,
    var year=new Date("1985","7");
    if(year>2000){
    alert("大于");
    }else{
    alert('小于')
    }
    你没加getYear()
      

  4.   

    var year=new Date("1985","7"); 这个就是取的年月的INT型了,非常大的。getYear就是年份。其实就是int对比了
      

  5.   

    上面是日期类型,你没有获得年份
    建议用new Date().getFullYear()比较好
      

  6.   

    js 是弱类型。new Date() 与 2000 相比, 前者是对象,比较时发生了下面的事情:
     new Date().toString() 和2000 相比。2000自动转化为字符串。2比字母的ascii小,所以
      

  7.   

    唉,我来解释下吧,首先通过new Date()之后的变量是个对象,这个肯定错不了,那为什么能跟数字比较呢?其实把date对象包含的内容是一个整形的数字,这个数字就Unix计时法的数字,通过算法可以获得时、分、秒等信息,而本身只是一个整数,因此可以进行算术运算,如果你以前经常用微软产品的话,可能是不好理解
      

  8.   


            var year=new Date("1985","7");
    var int_year=year.toString();
    alert(int_year>2000); //结果为false,所以楼上这位的猜想不对
    if(year>2000){ 
       alert("大于");
    }else{
       alert('小于')
    }
    如果楼上的这位同志能证明你是对的,请给出例子。