用js完成自适应时为什么要加两对()()啊

window.onload = function(){(

    window.onresize = function () {

        //获取可见宽度和宽度

        //documentElement是整个DOM的根节点,即html

        var width = document.documentElement.clientWidth - 180;

        var height = document.documentElement.clientHeight - 80;

        if(width >= 0){

            document.getElementById('main').style.width = width + 'px';

        }

        if(height >= 0){

            document.getElementById('main').style.height = height + 'px';

            document.getElementById('sidebar').style.height = height + 'px';

        }

})()

};


为什么要加两对 ()()才能在刚进页面时就能调用函数,不加的话必须滚动下才能调用?

这是为啥。


富国沪深
浏览 491回答 1
1回答

梵蒂冈之花

这段代码写得太烂了,可读性非常差,他的意思是window.onload的时候,去绑定resize,而且同时还要在resize的时候绑定同样一个函数?这思维太混乱了。你知道 window.onresize = function () {}的返回值是这个函数本身? 有可读性?这么写好点:var dosomething = function () {...}window.onload = dosomething window.resize = dosomething
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript