【发布时间】:2011-09-12 20:08:57
【问题描述】:
我正在尝试将一个简单的字符串传递给事件侦听器,以识别要修改的适当数组对象。我通过查看日志(以 cmets 显示)了解到我传递的是一个对象,它不能直接与另一个对象的属性进行比较。
我应该传递一个具有字符串作为属性的对象(就像数组对象那样),还是有更合适的方法来引用该对象作为字符串或以某种方式调用它的名称(就像日志在第一个评论)?
// 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
}
}
});
谢谢!
【问题讨论】:
标签: javascript object titanium argument-passing string-comparison