如何删除/删除JavaScript函数()?

如何删除/删除JavaScript函数()?,javascript,jquery,function,Javascript,Jquery,Function,如果检测到某个浏览器,我将如何删除某个功能? 以下是功能和检测: function parallaxIt(e, target, movement) { var $this = $("#app"); var relX = e.pageX - $this.offset().left; var relY = e.pageY - $this.offset().top; TweenMax.to(target, 1, { x: (relX - $this.width() / 2)

如果检测到某个浏览器,我将如何删除某个功能? 以下是功能和检测:

function parallaxIt(e, target, movement) {
  var $this = $("#app");
  var relX = e.pageX - $this.offset().left;
  var relY = e.pageY - $this.offset().top;

  TweenMax.to(target, 1, {
    x: (relX - $this.width() / 2) / $this.width() * movement,
    y: (relY - $this.height() / 2) / $this.height() * movement,
    z: 0.01,
    rotation:0.01
  });
}


var version = detectIE();
if (version === false) {
  //Do Nothing
} else if (version >= 12) {
    //Remove Function
} else {
    $("#iefix").attr({href : "/static/css/app-iefix.css"});
    //Remove Function
}
因此,当检测到任何IE时,我想删除函数
parallaxIt()
,或者破坏它,使其不起作用? 问候


(代码中的detect部分显然是完整代码的一小部分,因此您可以更轻松地阅读而不是浏览完整代码)

至少对我来说,在Chrome v71(Windows 10)中,删除该函数没有任何作用(它仍然存在)。但您可以将其重新分配为无操作功能:

函数视差{
console.log(“内部视差”);
}
//删除
删除window.parallaxIT;
log(“parallaxIT被‘删除’,它是否仍然显示输出:”);
视差();
console.log(“==”);
//重新分配
window.parallaxIT=function(){}//无操作函数
log(“视差被重新分配,它是否仍然显示输出:”);
视差();

console.log(“==”)至少对我来说,在Chrome v71(Windows 10)中,删除该函数没有任何作用(它保持存在)。但您可以将其重新分配为无操作功能:

函数视差{
console.log(“内部视差”);
}
//删除
删除window.parallaxIT;
log(“parallaxIT被‘删除’,它是否仍然显示输出:”);
视差();
console.log(“==”);
//重新分配
window.parallaxIT=function(){}//无操作函数
log(“视差被重新分配,它是否仍然显示输出:”);
视差();

console.log(“==”)如果正在使用IE,就不要首先调用它。它会在window.onload上触发。因此,请更改window.onload函数,以便它测试浏览器是否是IE第一个!我知道我可以在检测的else if和else中添加parallaxIt(),但我仍然想知道如何一起删除函数删除对它的所有引用。如何做到这一点取决于引用的位置。完全有可能最终生成引用错误,因为该函数已不存在,但其他代码仍试图调用它。这就是“删除函数”方法不好的原因之一。这太复杂了。如果使用IE,首先不要调用它。它会在window.onload上触发。所以更改window.onload函数,以便它测试浏览器是否是IE第一个!我知道我可以在检测的else if和else中添加parallaxIt(),但我仍然想知道如何一起删除函数删除对它的所有引用。如何做到这一点取决于引用的位置。完全有可能最终生成引用错误,因为该函数已不存在,但其他代码仍试图调用它。这就是“删除函数”方法不好的原因之一。这太复杂了。