1.window.onresize=new Function("window.location.reload()")
2.window.onresize=window.location.reload()
3.window.onresize=window.location.reload
这三种分别表示什么意思,有什么区别?
再具体一点,1情况下,resize事件发生,new出实例,调用reload(),这三个的顺序是什么样的?
2情况下,resize事件发生,reload()调用,这两个的顺序是什么样的?
3情况下,会不会调用reload()?
非常感谢

解决方案 »

  1.   

    http://www.yaosansi.com/post/1197.html
    这个说得比较清楚
      

  2.   

    js就是太灵活。sigh..
    1.利用new Function做一些简化function的函数定义操作
    window.onresize=new Function("window.location.reload()") 
    可理解为
    window.onresize = function(e){
    }
    然后每次触发window.onresize函数都会这么触发window.onresize(window.location.reload())
    对比下面的函数定义可能会清晰一点 
    var func = function(e){}
    func(alert(1))//每次触发func函数都会执行alert语句。2.window.onresize=window.location.reload() 这个意思是window.onresize等于window.location.reload函数执行的结果,页面一载入就执行window.location.reload(),完后把返回值赋予window.onresize
    相当于
    var func2 = function(){return 1;}
    var func1 = func2();
    alert(func1);//弹出13,window.onresize=window.location.reload 这个意思是把window.location.reload这个函数赋予window.onresize
    相当于
    window.onresize = function(){window.location.href=window.location.href}
      

  3.   

    foolbirdflyfirst,请问,第三种情况下,resize事件发生时,并不会调用reload()是不是?
    我的测试结果就是不会调用reload()
      

  4.   

    js那不叫灵活,那叫混乱……功能还不如vbscript强呢
      

  5.   

    哈哈,同感。
    javascript有很多小把戏是真的,有时候以为对某个问题懂了一点,一个变态的写法出来,又要琢磨一下。