在JavaScript中将函数作为参数传递,出现未定义错误

5

我有一个函数,它是一个名为server的对象的一部分,即server.log是我用来记录数据的函数。虽然我不想将server的其他属性传递给其他函数,但我希望server.log在其他文件中的函数中可用。

function test() {
    testingThis(server.log);
}

function testingThis(logf) {
    logf("test123");
}

我收到一个错误,错误信息为:

无法读取未定义对象的 'emit' 属性

我正在使用 happy console 模块进行日志记录(在测试函数中 server.log 可以正常工作)。

1个回答

8

是的,你说得对。现在它正在工作 :) 这是指向 testingThis 函数对象的吗? - user1692342
1
我不确定你是如何找到这个答案的。这个问题很令人困惑,定义不清,解释也不好。我并没有看到this被使用,所以我不认为this的值/范围是一个问题。唯一有用的部分就是错误信息的提示。 - vol7ron
1
@user1692342:不。正如我所说,在logfserver.log)内,this将引用全局对象或undefined - Felix Kling
1
@vol7ron:从错误信息和看到log失去对server的引用,我只是一个受过教育的猜测...当然还有我的水晶球! - Felix Kling

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接