Var with 打破 IE 11 [重复]
Posted
技术标签:
【中文标题】Var with 打破 IE 11 [重复]【英文标题】:Var with break IE 11 [duplicate]Var with 打破 IE 11 [重复] 【发布时间】:2020-08-18 12:41:07 【问题描述】:我在我的网站上使用 slideToggle 作为变量时遇到问题。我正在使用 domSlider。当我尝试以下操作时,我遇到了我无法理解的问题。
如果将 slideToggle 定义为:
var slideToggle = window.domSlider;
我在 IE 11 中得到 SCRIPT1010: Expected identifier
。但适用于 Chrome 和现代浏览器。
如果我将其定义为:
var slideToggle = window.domSlider;
我在 chrome 和其他现代浏览器中收到 Uncaught TypeError: slideToggle is not a function
。但在 IE 11 中没有错误。
我不知道是什么原因造成的,以及如何从这里继续。
【问题讨论】:
【参考方案1】:IE11 不支持解构赋值:Browser_compatibility
var slideToggle = window.domSlider;
应该是:
var slideToggle = window.domSlider.slideToggle;
在IE11中工作,或者你可以直接使用window.domSlider.slideToggle
【讨论】:
非常感谢您。我会在几分钟内将其标记为答案。【参考方案2】:var item = func()
构造称为解构。旧的 Redmond Middle School Science Project (IE11) 不支持它;它来自他们停止在 IE 上工作后的 javascript 版本。
如果您的目标是 IE,请滚动到描述该功能的 MDN 页面底部。对于您的示例,https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment# 它说明了哪些浏览器支持该功能。
还有一个名为 CanIUse.com 的网站,其中包含有关浏览器支持的逐个功能信息。
有一个名为Babel 的转译器(将新javascript 转换为旧javascript 的编译器)。你可以试试。但是解释如何在你的项目中安装它对于一个 SO 答案来说太过分了。
欢迎来到为糟糕的旧版浏览器开发代码的美妙世界。微软放弃自己的浏览器开发并采用 Chromium 是有充分理由的。
【讨论】:
以上是关于Var with 打破 IE 11 [重复]的主要内容,如果未能解决你的问题,请参考以下文章