gpt4 book ai didi

Javascript OOP 从函数返回值

转载 作者:行者123 更新时间:2023-12-02 20:16:32 24 4
gpt4 key购买 nike

我的 javascript 对象定义如下:

function SocialMiner() 
{


var verbose=true;

var profileArray=new Array();

var tabUrl;

this.getTabUrl=function()
{
logToConsole("getTabUrl is called");


chrome.tabs.getSelected(null, function(tab)
{
tabUrl = tab.url;
logToConsole(tabUrl);

});

return tabUrl;
} `

然后我在 SocialMiner 对象上调用这个函数,如下所示:

 var pageUrl=miner.getTabUrl();
miner.logToConsole(pageUrl);

第一次调用 logToConsole 成功打印 Url,而第二次调用却显示未定义,这是什么原因?我没有从函数返回相同的值吗?

更新:这就是我定义 logToConsole 的方式:

function logToConsole(text) 
{
if (verbose)
console.log(text);
}

this.logToConsole=logToConsole;

最佳答案

在第二个示例中,您调用 logToConsole 就好像它是矿工对象的函数,但事实并非如此。

miner.logToConsole

编辑

根据关于 github 示例的评论,这应该使 logToConsole 函数成为 SocialMiner 对象的一部分。但是,我没有彻底阅读该类(class),因此请谨慎对待它的使用方式。

this.logToConsole=function(text) 
{
if (verbose)
console.log(text);
}

关于Javascript OOP 从函数返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6220133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com