iOS未使用类声明加载JavaScript文件

时间:2018-09-03 15:54:35

标签: javascript html ios cross-browser device

在我的javascript文件中,我具有以下内容:

alert('loaded JS file');
class myClass{
    constuctor(value){
        this.value = value;
    }
    myfunc(){
        //some method
        return this.value;
    }
}

在我的html文件中,我具有以下内容:

<script src="/myJSFile"></script>
<script>
    let someVal = 5;
    let myInstance = new myClass(someval);
</script>

这在所有计算机和某些移动设备上都可以正常运行,但是在所有移动设备上都不能正常运行。我的运行iOS 10的iPhone6遇到错误,其中从未执行alert('loaded JS file'),因此出现错误:ReferenceError: Can't find variable: myClass。但是,如果我从javascript文件中删除了创建类的代码,则会在移动设备上触发警报。因此,我的猜测是出于某些原因,某些手机不支持类声明,但实际上我不确定,因为我认为这在所有浏览器/设备上都是标准的。

为什么某些移动设备上的javascript文件不能仅加载

1 个答案:

答案 0 :(得分:0)

class仅在ES2015中添加,并且不受普遍支持,尤其是在旧版移动操作系统上不支持。但是,例如,即使台式机上的IE11也不支持class。详细信息:https://caniuse.com/#feat=es6-class

如果要在较旧的设备上使用class,则需要转换到ES5代码。 (Babel是做到这一点的工具。)

(注意:您的构造函数中有一个错字,名称中缺少字母r。)