String.contains是JavaScript中的标准函数吗?

时间:2015-05-21 08:36:51

标签: javascript google-chrome standard-library ecmascript-harmony

最近我用JavaScript编写逻辑,我写了这样的东西

var str="hello world";

if(str.contains("w"))
    //do something
else
   //do anotherthing

我认为直到我在Chrome中运行该页面才能正常工作。在Chrome中,我收到contains is not a function错误。

虽然我通过将逻辑修改为

来摆脱这种情况

var str="hello world";
if(str.indexOf("w")!=-1)
    //do something
else
   //do another thing

contains是不是标准的ECMAScript函数?我可以通过Firefox中的intellisense看到contains,但不能在Chrome中看到。

在不同的浏览器中测试这些,我在控制台中注意到

String.subString/indexOf //not showing in chrome but works in Firefox

str.substring/indexOf适用于Chrome

这些方法不是标准String对象的一部分吗?

3 个答案:

答案 0 :(得分:1)

解释here。 String.prototype.contains不是EsmaScript 5.1的一部分,目前正在发布。

答案 1 :(得分:1)

这是this问题的副本。

为方便起见,我会在这里重新发布答案。

默认情况下,现在在Firefox和Chrome中支持此功能。如果你在这里寻找最新的答案,你可以查看原因,以及新的方法名称(String.includes)here

尝试:

yourString.includes( 'searchString的')

答案 2 :(得分:0)

.contains()不是标准字符串对象的一部分