无法访问其他方法中的值

时间:2017-03-29 20:04:56

标签: javascript jquery function

我想在此处插入值,以便将JSON发送到后端但无法获取它。

var generateSearchObject = function() {
    var searchObj = {
        "fileName": change, // Here the fileName should be "Change Data"
        "tabType": text.toUpperCase(),
        "offset": offValue,
    };
    return searchObj;
};
var renderCrumbs = function(breadCrumbs, state, node) {
    var change = "Change Data";
}  

请帮忙!

1 个答案:

答案 0 :(得分:1)

首先renderCrumbs: function(breadCrumbs, state, node) { ... }毫无意义,因为您使用Object属性表示法而没有找到Object。如果它包含在代码段中不可见的Object中,则一切正常,但请记住,您必须引用该对象以在以下代码段中调用该函数,例如: obj.renderCrumbs()

其次,有问题的是,您可能会试图将change用作全局。不要这样做,全局变量很糟糕。 Read more here。有些谷歌搜索可以在其他地方获得更多信息。

我能看到的最佳解决方案是将renderCrumbs的功能更改为

function renderCrumbs(breadCrumbs, state, node) {
    return 'Change Data';
}

然后你可以做

var generateSearchObject = function() {
   var searchObj = {
       "fileName": renderCrumbs(), 
       "tabType": text.toUpperCase(),
       "offset": offValue,
   };
   return searchObj;
};