我有一个明显是字符串的对象,因为我可以访问它上面的字符串: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
如果它有任何相关性,当我将鼠标悬停在发件人上时,它会显示“(参数)发件人:任何”
什么???
您需要在使用indexof之前转换为字符串,目前您有一个Date类型值
if (sender.toString().indexOf("(GMT Standard Time)") !== -1)
按照这个例子你的代码应该工作 - 因此你的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)
这意味着sender不是字符串对象,因此您需要在调用indexOf函数之前将其转换为字符串
if(typeof sender !== 'string') sender = sender.toString();
if (sender.indexOf("(GMT Standard Time)") !== -1){
// your code here
}
有关详细信息,请参阅String.prototype.indexOf()