0

我需要调用一个对象的函数并将其传递给一个变量。因为我需要对该对象的函数进行多次调用,所以我试图创建一个唯一的处理程序,该处理程序通过我传递的表单值调用特定函数。代码有效,但 CFBuilder 告诉我有一个错误(最后一行缺少分号)。我在Railo。

local.myReport = seoUtility.init();

local.func = form.action;

local.report = local.myReport[local.func](form.user);

所以问题是:这段代码正确吗?我可以简单地忽略 cfbuilder 错误图标吗?

4

1 回答 1

0

如果你不想让 CFBuilder 唠叨你的语法,你可以改成这样:

local.myReport = seoUtility.init();
local.func = local.myReport[form.action];
local.myReport.func = local.func;
local.report = local.myReport.func(form.user);

这将设置local.func为实例seoUtility作为对您要调用的实际函数的引用,并保留其与父对象的关系。这样[]()就不需要有问题的语法。

但是,这仅在seoUtility.init()每次都返回一个新实例时才有效,而不是应用程序共享的单例,在这种情况下,所有对local.myReport.func().

于 2013-09-19T23:02:09.400 回答