Javascript变量范围问题嵌套函数

时间:2014-06-21 05:19:43

标签: javascript variables scope

好吧,所以我是Javascript的半新手,我正在为朋友修改扩展程序。

我的问题是我的chrome.browserAction.getTitle获取正确的数据,但该函数没有将结果传递给main函数,显示为" undefined"在名为" setBadge"。

的函数中
function setBadge(status,s) {
    chrome.browserAction.getTitle({}, function(result){
        console.log(result)
        setBadge(res)
    });

    console.log(s);
    chrome.browserAction.setTitle({title:("is " + status)});

    if (status == "Online" && result == "is Offline") {
        showOn();
        audioNotification();
        chrome.browserAction.setBadgeText({text:("On" + "            ")});
        chrome.browserAction.setBadgeBackgroundColor({color:([0,255,0,255])});
    }

    if (status == "Offline" && result == "is Online") {
        showOff();
        audioNotification();
        chrome.browserAction.setBadgeText({text:("Off" + "            ")});
        chrome.browserAction.setBadgeBackgroundColor({color:([255,0,0,100])});
    }
}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

所以我首先看到的是两件事。

  1. SetBadge永远不会在此片段外部调用,从而导致无限递归和
  2. 2内部传递res到setBadge,实际上是未定义的。