问个比较傻的问题了。在写一个js代码的时候,我用到了这么一段:
window.setTimeout("showdate()", 500);而这段代码又可以写成是:
setTimeout("showdate()", 500);我感觉这两种写法虽然达到的效果是一样的,但本质是不一样的!用window.setTimeout时,我感觉就好像调用的类中的静态函数,这里window可以看成是一个类。
而直接用setTimeout就好像是C语言中的printf一样。不知道是不是这样一种情况?JS是完全面向对象的语言还是不完全是呢?谢谢大虾帮忙答疑解惑~~

解决方案 »

  1.   

    是一样的
    window对象是默认的全局对象,可以省略
      

  2.   

    事实上,setTimeout比window.setTimeout快。
      

  3.   

    一样好比
    this.sss()sss()  的区别
      

  4.   


    JS中还有哪些是全局对象呢?在哪可以查到?
    好像Date、Math都是~~
      

  5.   

    浏览器中全局变量都是window的属性。
    var s = 123456;
    alert(s);
    alert(window.s);
      

  6.   

    是一样的,因为setTimeOut是window对象的属性;而window是浏览器默认对象,所以就省略window不写而已!~如果在DW CS4或者VS2010下写HTML的JavaScript,"window."会出现setTimeOut的属性!~
      

  7.   

    JavaScript 是基于对象的不是面向对象
    window Dom对象模型中顶级对象,为默认对象,使用时可省略
      

  8.   

    window对象
    http://www.w3school.com.cn/htmldom/dom_obj_window.asp
    有兴趣还可以看看这个
    IE全局变量的Dissociative Identity Disorder(人格分裂症)
    http://hax.javaeye.com/blog/349569
      

  9.   

    按这种逻辑,这种最快:setTimeout(showdate, 500);
    绝对可执行,且代码量最高,难不成他们执行过程不一样?
      

  10.   

    你在哪里看到的教程啊,setTimeout 就是 window.setTimeout,只不过是简写而已。
    例如 document 对象就是 window.document 一样。