indexOf在AngularJS控制器中不起作用

时间:2018-03-02 11:16:11

标签: javascript angularjs

我有一个显然是字符串的对象,因为我可以访问它上面的字符串: console.log(sender)将显示Fri Mar 02 2018 09:00:20 GMT + 0000(GMT标准时间),这显然是一个字符串。

现在,当我尝试这样做时:

 if (sender.indexOf("(GMT Standard Time)") !== -1)

我被告知" sender.indexOf不是函数......"

我正在使用angularJS版本1.4.9

如果它有任何相关性,当我将鼠标悬停在发件人上时,它会显示"(参数)发件人:任何"

任何什么???

3 个答案:

答案 0 :(得分:0)

您需要在使用indexof之前转换为字符串,目前您有一个日期类型值

if (sender.toString().indexOf("(GMT Standard Time)") !== -1)

答案 1 :(得分:0)

按照此示例,您的代码应该有效 - 因此您的sender不是字符串:



var sender = 'Fri Mar 02 2018 09:00:20 GMT+0000 (GMT Standard Time)'

if (sender.indexOf("(GMT Standard Time)") !== -1) alert(true)




尝试使用:

if (sender.toString().indexOf("(GMT Standard Time)") !== -1) alert(true)

答案 2 :(得分:0)

这意味着发件人不是字符串对象,因此您需要在调用 indexOf 函数之前将其转换为字符串

target.seek(0)

有关详细信息,请参阅String.prototype.indexOf()