javascript - 调用自定义对象时返回 undefined variable ,否则很好

标签 javascript netsuite

我有一个看起来像这样的自定义对象

var locationsMap = {
            "obj1":[1],
            "obj2":[7],
            "obj3":[21]               
}

我可以这样调用这个自定义对象:

var loc = "obj2";
alert(locationsMap[loc][0]);

这在 jsFiddle 中工作得很好;但是,当我将此逻辑嵌入到 NetSuite 的代码中时,loc 变为未定义:

nlapiLogExecution('debug',"Location: "+ loc); //works fine
nlapiLogExecution('debug','Location: '+locationsMap[loc][0]); //throws exception

在 NetSuite 调试器中:

$ nlapiLogExecution('debug','Location: '+locationsMap[loc][0]);
> TypeError: Cannot read property "0" from undefined

为什么当我通过 locationsMap 对象调用它时 loc 显示为未定义,而不是 当我单独调用它时未定义?

--编辑--

调用 nlapiLogExecution('debug','Location: '+locationsMap['obj2'][0]); 按预期工作。

--编辑2--

由于这些问题,我最终放弃了这种方法,尽管我仍然有兴趣找出为什么会出现这种行为。

最佳答案

我将其放入 NetSuite 调试器和 SuiteCloud IDE 调试器中,一切都正确返回。时间已经解决了问题。

var locationsMap = {
            "obj1":[1],
            "obj2":[7],
            "obj3":[21]               
};
var loc = "obj2";
nlapiLogExecution('debug',"Location: "+ loc); 
nlapiLogExecution('debug','Location: '+locationsMap[loc][0]); 

debug   Location: obj2  10/30/2014 20:05:41.303
debug   Location: 7 10/30/2014 20:05:43.284
metrics usage 0, time 20096 10/30/2014 20:05:43.284

关于javascript - 调用自定义对象时返回 undefined variable ,否则很好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16318924/

相关文章:

javascript - elt.lang = 'fr' 不工作

javascript - 第三方嵌入式视频的 SSL 证书

case - Netsuite 公式 - "blank"或 "null"字段

deployment - NetSuite部署到实时环境

javascript - Netsuite 用户事件脚本 : Not all user event types firing

javascript - 我需要让我的 onclick 事件显示多个内容

javascript - 获取相对定位元素的 href

javascript - 有什么方法可以定义执行任何计划脚本的最大持续时间?

javascript - Ajax 数据 - 对于每个数据

java - 使用 Java 从 NetSuite 导出报告