下面的代码会抛出一个未定义的错误,“Variable API is undefined”:
public string function foo() {
var bar = "";
if (somecondition) {
var api = new some.path.to.component();
bar = api.baz();
}
return bar;
}
虽然以下将正常工作:
public string function foo() {
var bar = "";
var api = new some.path.to.component();
if (somecondition) {
bar = api.baz();
}
return bar;
}
试图通过预定义变量来解决这个问题,发现它没有被重新分配,并且会抛出“Cannot invoke method find on an object of type of java.lang.String”:
public string function foo() {
var bar = "";
var api = "";
if (somecondition) {
api = new some.path.to.component();
bar = api.baz();
}
return bar;
}
CF9.1 错误?语言功能?显然,我只想在条件为真时创建组件,所以尽管后者有效,但感觉有点浪费。