iOS未加载带有类声明的JavaScript文件

iOS未加载带有类声明的JavaScript文件,javascript,html,ios,cross-browser,device,Javascript,Html,Ios,Cross Browser,Device,在我的javascript文件中,我有以下内容: alert('loaded JS file'); class myClass{ constuctor(value){ this.value = value; } myfunc(){ //some method return this.value; } } <script src="/myJSFile"></script> <script

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

alert('loaded JS file');
class myClass{
    constuctor(value){
        this.value = value;
    }
    myfunc(){
        //some method
        return this.value;
    }
}
<script src="/myJSFile"></script>
<script>
    let someVal = 5;
    let myInstance = new myClass(someval);
</script>
在我的html文件中,我有以下内容:

alert('loaded JS file');
class myClass{
    constuctor(value){
        this.value = value;
    }
    myfunc(){
        //some method
        return this.value;
    }
}
<script src="/myJSFile"></script>
<script>
    let someVal = 5;
    let myInstance = new myClass(someval);
</script>

设someVal=5;
让myInstance=newMyClass(someval);
这在所有计算机和一些移动设备上都能正常工作,但并非在所有移动设备上都能正常工作。运行iOS 10的iPhone6遇到一个错误,
警报('loaded JS file')
从未执行,因此出现了错误:
ReferenceError:找不到变量:myClass
。但是,如果我从javascript文件中删除创建类的代码,则会在mobile上触发警报。因此,我的猜测是,由于某些原因,某些手机不支持类声明,但我真的不确定,因为我认为这是所有浏览器/设备的标准


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

类仅在ES2015中添加,并且没有得到普遍支持,尤其是在传统版本的移动操作系统上。但即使是台式机上的IE11也不支持
class
。详情:

如果要在较旧的设备上使用
class
,则需要传输到ES5代码。(这是实现此目的的一个工具。)


(旁注:构造函数中有一个输入错误,名称中缺少字母
r

啊,好的,这很有意义。谢谢,非常有帮助!像
class
这样的基本功能,在较旧的版本中确实会得到支持。它现在工作得很好。再次感谢你的建议。@James-嗯,当那些旧版本被编写出来时,它并不存在,所以…:-)(例如,IE11于2013年10月发布。ES2015于2015年6月发布,然后当然实现必须更新以支持它[现在有点不同,一个功能直到至少两个实现随附才正式进入规范,但对于ES2015来说并非如此]。许多Android用户仍在使用2015年之前的Android版本。)