Javascript 回调()的定义在哪里?

Javascript 回调()的定义在哪里?,javascript,google-chrome-extension,callback,Javascript,Google Chrome Extension,Callback,下面是Chrome扩展起始页示例的一个片段 我想知道在最后调用的callback()函数的主体在哪里 /** 6*获取当前URL。 7 * 8*@param{function(string)}回调-当当前选项卡的URL 找到了9*。 10 */

下面是Chrome扩展起始页示例的一个片段

我想知道在最后调用的callback()函数的主体在哪里

/**
6*获取当前URL。
7  *                                                                                   
8*@param{function(string)}回调-当当前选项卡的URL
找到了9*。
10  */                                                                                  
11函数getCurrentTabUrl(回调){
12//要传递到chrome.tabs.Query的查询筛选器-请参阅
13   // https://developer.chrome.com/extensions/tabs#method-质疑
14变量queryInfo={
15主动:正确,
16当前窗口:真
17   };                                                                                 
18
19 chrome.tabs.query(queryInfo,函数(tabs){
20//chrome.tabs.query调用回调,其中包含与
21//查询。当弹出窗口打开时,肯定会有一个窗口,至少
22//一个tab,因此我们可以安全地假设| tabs |是一个非空数组。
23//一个窗口一次只能有一个活动选项卡,因此数组由
24//只有一个选项卡。
25 var tab=选项卡[0];
26
27//选项卡是一个普通对象,提供有关选项卡的信息。
28//见https://developer.chrome.com/extensions/tabs#type-标签
29 var url=tab.url;
30
31//tab.url仅在声明了“activeTab”权限时可用。
32//如果您想查看其他选项卡的URL(例如,在删除活动选项卡后):true
33//from | queryInfo |),则需要“tabs”权限才能查看其
34/“url”属性。
35 console.assert(typeof url==“string”,“tab.url应该是字符串”);
36
37回调(url);
38   });                                                                                

39
变量在此处的参数中定义:

您引用的代码中未定义该函数。它在别处定义,然后在调用
getCurrentTabUrl
时传递

e、 g

其内容如下:

getCurrentTabUrl(function(url){
alert(url);
});

在调用getCurrentTabUrl的短时间内!

回调函数作为
getCurrentTabUrl
函数的参数提供。因此它可以是任何函数。
function foo() { /* do something */ }
getCurrentTabUrl(foo);
getCurrentTabUrl(function(url){
alert(url);
});