Javascript 基本函数不是使用变量运行的,而是在页面加载时运行的

Javascript 基本函数不是使用变量运行的,而是在页面加载时运行的,javascript,Javascript,我试图找出为什么在调整浏览器窗口大小时,checkBrowserHeight函数没有执行 代码如下: if(window.innerWidth>768){ var homeP=document.querySelector('.homepage'); var checkBrowserHeight=函数(){ log(“已执行的函数”); }(); window.onresize=检查浏览器高度; } 注意该函数右括号旁边的括号。这意味着您没有将checkBrowserHeight分配给函数,而是

我试图找出为什么在调整浏览器窗口大小时,
checkBrowserHeight
函数没有执行

代码如下:

if(window.innerWidth>768){
var homeP=document.querySelector('.homepage');
var checkBrowserHeight=函数(){
log(“已执行的函数”);
}();
window.onresize=检查浏览器高度;
}
注意该函数右括号旁边的括号。这意味着您没有将
checkBrowserHeight
分配给函数,而是将其分配给函数的结果

将圆括号添加到函数末尾会调用它。只需删除这些,您的代码应该是:

var checkBrowserHeight = function() {
    console.log('function executed');
};
注意该函数右括号旁边的括号。这意味着您没有将
checkBrowserHeight
分配给函数,而是将其分配给函数的结果

将圆括号添加到函数末尾会调用它。只需删除这些,您的代码应该是:

var checkBrowserHeight = function() {
    console.log('function executed');
};

有两个逻辑问题

  • 在处理函数的末尾有一个额外的
    ()
  • window.innerWidth
    大于768时,处理程序将被分配到
    窗口.onresize
  • 这是我的建议

      var homeP = document.querySelector('.home-page');
    
      var checkBrowserHeight = function() {
         if (window.innerWidth > 768) {
           console.log('function executed');
         }
      };
    
      window.onresize = checkBrowserHeight;
    

    有两个逻辑问题

  • 在处理函数的末尾有一个额外的
    ()
  • window.innerWidth
    大于768时,处理程序将被分配到
    窗口.onresize
  • 这是我的建议

      var homeP = document.querySelector('.home-page');
    
      var checkBrowserHeight = function() {
         if (window.innerWidth > 768) {
           console.log('function executed');
         }
      };
    
      window.onresize = checkBrowserHeight;
    

    您已将调用
    函数的结果分配给
    checkBrowserHeight
    ,不要将
    ()
    放在末尾,只需再次调用即可
    checkBrowserHeight()
    您已将调用
    函数的结果分配给
    checkBrowserHeight
    ,不要将
    ()
    放在末尾,只需再次调用即可<代码>检查浏览器高度()