首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javaScript为什么在空函数中使用函数

javaScript为什么在空函数中使用函数
EN

Stack Overflow用户
提问于 2017-10-30 17:52:23
回答 4查看 60关注 0票数 0

在这段代码中

代码语言:javascript
复制
function adjustStyle() {
    var width = 0;
    // get the width.. more cross-browser issues
    if (window.innerHeight) {
        width = window.innerWidth;
    } else if (document.documentElement && document.documentElement.clientHeight) {
        width = document.documentElement.clientWidth;
    } else if (document.body) {
        width = document.body.clientWidth;
    }
    // now we should have it
    if (width < 600) {
        document.getElementById("myCSS").setAttribute("href", "_css/narrow.css");
    } else {
        document.getElementById("myCSS").setAttribute("href", "_css/main.css");
    }
}

// now call it when the window is resized.
window.onresize = function () {
    adjustStyle();
};

为什么我必须在空函数中使用adjustStyle(),为什么我不能像window.onresize =adjustStyle()那样使用;

EN

回答 4

Stack Overflow用户

发布于 2017-10-30 17:54:37

您可以调用:

代码语言:javascript
复制
window.onresize = adjustStyle;

像这样声明adjustStyle

代码语言:javascript
复制
var adjustStyle = function() { [...] };

代码语言:javascript
复制
function adjustStyle() { [...] }
票数 2
EN

Stack Overflow用户

发布于 2017-10-30 17:56:51

为什么我必须在空函数中使用adjustStyle(),为什么我不能像window.onresize =adjustStyle()那样使用;

因为如果您这样做了,onresize将被分配调用函数的结果-这是未定义的-因此不会发生任何事情。但是,您可以这样做:

代码语言:javascript
复制
window.onresize = adjustStyle; // note no parentheses

这会将resize设置为函数本身。

票数 1
EN

Stack Overflow用户

发布于 2017-10-30 17:56:21

因为使用一个函数,您可以在调整大小后调用多个处理程序。

例如:

代码语言:javascript
复制
window.onresize = function(){
  doOneThing();
  doAnotherThing();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47012281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档