为什么String.toLowerCase在Chrome中未定义但未定义为Firefox?

时间:2017-02-27 16:53:15

标签: javascript google-chrome firefox

在Chrome控制台中,String.toLowerCase返回undefined。但是在Firefox中却没有。

差异的原因是什么?

var body = $("body");
body.append(new String(String.toLowerCase).toString());
body.append("<br>");
body.append(String.prototype.toLowerCase.toString());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

2 个答案:

答案 0 :(得分:4)

String.toLowerCase是Firefox允许String,Array(可能还有其他)的 Generics 之一。它们未在任何ECMAScript标准中定义,并且被Firefox视为已弃用,将被删除。

摘自MDN docs

  

字符串泛型是非标准的,已弃用,将来会被删除。请注意,如果不使用下面提供的填充程序,则不能跨浏览器依赖它们。

另见:

答案 1 :(得分:0)

这是你想要做的吗?对我来说,这些都可以很好地用于铬。

<Reference Include="SlimDX">
  <HintPath>..\SlimDX\$(Platform)\SlimDX.dll</HintPath>
</Reference>
let body = $("body");
let str = 'STRING TO LOWER';
body.append(str.toLowerCase());
body.append("<br>");
body.append("ALL CAPS".toLowerCase());