如何对三等号运算符进行功能检查并保证在JS中提供支持?

问题描述 投票:-1回答:1

我正在编写要分成几个模块的脚本。 “基准”模块将支持较旧的浏览器,该浏览器不支持新的语法,例如===和promises。

如果浏览器通过功能检查,将加载“高级”模块。

我的问题是,如何在没有首先实际使用浏览器的情况下检查浏览器是否支持===运算符和.then(function(){})承诺语法,并在较旧的浏览器中引起语法错误?

if (/*what goes here*/) {
    var script = document.createElement('script');
    script.src = '/advanced.js';
    script.async = false;
    document.head.appendChild(script);
}
javascript compatibility internet-explorer-6 legacy netscape
1个回答
1
投票

===运算符从Mocha开始就使用JavaScript。没有任何不支持JS的实现。

您不必担心需要支持then()方法。如果您需要关心对诺言的支持,那么您首先需要在实现诺言时就关心它。这只是if (typeof Promise === "function")的问题,但是如果that是一个问题,那么您可能应该首先只是加载Promise polyfill库。

© www.soinside.com 2019 - 2024. All rights reserved.