试一试eval
eval("var mydate = new Date();");

解决方案 »

  1.   

    应该是一个时序问题:
    document.write("<scr"+"ipt language=javascript src=http://www.51job.com/float.js></scr"+"ipt>");
    floatads('http://ad.51job.com/phpAD/adtrace.php?ID=8520527','http://image.51job.com/im/images/sh/sh/hsbc060606.gif');当你这样用时,页面载入test.js后执行document.write后去请求float.js,这时这行js执行完了,马上执行下面的语句,因为载入float.js不关javascript引擎的事,但是由于载入float.js的时间远大于js执行下面一个语句的时间,因此js语句在执行下面的函数会找不到该函数,因为该函数还在float.js中没有下载。如果是放在两段script中则可能没有这样的问题,即根据HTML的自上而下解析规则,必须第一段script解析完了(包括js载入)才执行下一段script。做一个测试可以很容易证明是时序问题,即将test.js中函数的延时调用(需要根据你的网络情况设置,测试时设置大一些就可以),比如:document.write("<scr"+"ipt language=javascript src=http://www.51job.com/float.js></scr"+"ipt>");
    setTimeout("floatads('http://ad.51job.com/phpAD/adtrace.php?ID=8520527','http://image.51job.com/im/images/sh/sh/hsbc060606.gif');",2000);