gpt4 book ai didi

coldfusion - 实体的类型不正确,无法作为函数调用

转载 作者:行者123 更新时间:2023-12-05 09:23:19 24 4
gpt4 key购买 nike

我有一种情况,我正在重构一些代码 - 我在一个循环中分离出很多代码并将其放入一个组件中,每个事件都是一个方法,都称为 w/i 循环。

当它运行时 - 第二次通过循环时,它无法解析 a.id - 在行“var b = b( i, a.id );”

如果我在每一行执行 writeOutput(),我会在循环开始和每一行看到我的值,直到最后一次。

    function a() {
//do thing
return id;
}

function b() {
//do thing
return id;
}

function bigOne() {
for( var i=1; i<2; i++; ) {
var a = a( i );
var b = b( i, a.id );
}
}

我也试过了 - 同样的问题

function bigOne() {
var a = '';
var b = '';

for( var i=1; i<2; i++; ) {
a = a( i );
b = b( i, a.id );
}
}

我读过这个Coldfusion, The symbol you provided [method_name] is not a function - 但这不是一回事,这篇文章处理的是 getter 和 setter……我认为这不适用于我的问题。

如果我这样放置我的输出(“查看”它):

function bigOne() {
var loopcount = 1;
for( var i=1; i<2; i++; ) {
writeOutput( 'loop count = ' & loopcount );
var a = a( i );
writeoutput( 'a.id = ' & a.id );
var b = b( i, a.id );
}
}

我明白了:

loop count = 1
a.id = 52978
loop count = 2

然后报错。错误消息:实体的类型不正确,无法作为函数调用。您提供的 insStop 符号不是函数的名称。

最佳答案

函数就像变量一样由引用指向,所以当你这样做时:

a = a();

您正在用函数返回的值覆盖指向函数 a 的引用。因此,下次您尝试调用 a() 时,a 不再是您的函数,而是上次调用它时返回的值。

当您遇到一个错误,表示某个变量无法按照您想要的方式使用时...将其转储并查看其中包含的内容。这通常会指出您做错了什么的正确方向。

关于coldfusion - 实体的类型不正确,无法作为函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22626870/

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