我想一个简单的字符串传递给一个事件监听器,以确定适当的数组对象进行修改。通过查看日志(显示在注释中),我明白我所传递的是一个对象,它不能直接与另一个对象的属性进行比较。简单的JavaScript对象比较
我应该传递一个具有字符串作为属性的对象吗(比如数组对象),还是有一种更适合的方式来引用对象作为字符串或以某种方式调用其名称(如日志在第一评论)?
// I just want to pass a string as an argument. Here is a static example.
var timestampID = '1307740835264';
Ti.App.fireEvent('confirmation',timestampID);
通知所述第一日志输出如何解释该参数作为字符串,但if
比较将其识别为一个对象。
Ti.App.addEventListener('confirmation',function(timestampID) { // produces "[DEBUG] fire app event: confirmation with 1307740835264"
Ti.API.info(timestampID); // produces "[INFO] { type = confirmation; }"
for (i=0;i<myArray.length;i++) {
Ti.API.info(myArray[i].timestampID + ' | ' + timestampID); // produces "[INFO] 1307740835264 | [object Object]"
if (myArray[i].timestampID == timestampID) { // will produce false
// will never happen
}
}
});
谢谢!
什么是timestamo?你的意思是时间戳吗? – ThiefMaster 2011-06-10 22:26:22
我想传递的只是作为参数的时间戳(我只是选择称它为时间戳ID)。除了字符串之外,我不需要发送任何其他属性。它在其他地方工作,我接收timestampID并将其作为字符串使用,但是“if”比较严格地将其识别为对象。 – 2011-06-10 22:31:20
@ThiefMaster。好,找到我了。 – jmbucknall 2011-06-10 22:46:41