Actionscript 3 错误#1006:值不是函数
我意识到之前已经讨论过这个错误,但是其他问题的解决方案在这里并不适用 我有一个名为INDARRY的整数数组和一个名为ADDCOMAS的函数,其中数组循环,逗号被添加到千,即9000而不是9000 现在,它工作得非常好,但是,我尝试在另一个变量上调用addCommas,它给了我这个错误 这是我的密码:Actionscript 3 错误#1006:值不是函数,actionscript-3,function,Actionscript 3,Function,我意识到之前已经讨论过这个错误,但是其他问题的解决方案在这里并不适用 我有一个名为INDARRY的整数数组和一个名为ADDCOMAS的函数,其中数组循环,逗号被添加到千,即9000而不是9000 现在,它工作得非常好,但是,我尝试在另一个变量上调用addCommas,它给了我这个错误 这是我的密码: var string = personData[personID - 1]; var indArray = string.split("|"); var targetTotal = int(indA
var string = personData[personID - 1];
var indArray = string.split("|");
var targetTotal = int(indArray[0]) + int(indArray[2]) + int(indArray[4]) + int(indArray[6]);
var currentTotal = int(indArray[1]) + int(indArray[3]) + int(indArray[5]) + int(indArray[7]);
for (var j=0; j<indArray.length; j++)
{
indArray[j] = addCommas(indArray[j]);
}
targetTotal = addCommas(targetTotal); //these two lines give the above error
currentTotal = addCommas(currentTotal); //the pretty much identical line in the for loop does not
var string=personData[personID-1];
var indArray=string.split(“|”);
var targetTotal=int(indArray[0])+int(indArray[2])+int(indArray[4])+int(indArray[6]);
var currentTotal=int(indArray[1])+int(indArray[3])+int(indArray[5])+int(indArray[7]);
对于(var j=0;j来说,问题是您试图将split()方法应用于数字和整数,但这是一种字符串方法,因此您应该将它们转换为字符串,然后将它们转换为字符串。另一件事是您试图将变量用作整数,然后用作字符串,然后再次用作整数,这是不好的
尝试严格键入您的变量,这将使一切更清楚
这里是对AS3严格类型的快速参考
我希望有帮助,
Rob问题是您试图将split()方法应用于数字和整数,但这是一种字符串方法,因此您应该将它们转换为字符串,然后将它们转换为字符串。另一件事是,您试图将变量用作整数,然后用作字符串,然后再次用作整数,这是不好的
尝试严格键入您的变量,这将使一切更清楚
这里是对AS3严格类型的快速参考
我希望有帮助,
Rob没关系。修复了。addCommas函数似乎依赖于字符串而不是int值。我将targetTotal和currentTotal转换为字符串并完成了工作。修复了。addCommas函数似乎依赖于字符串而不是int值。我将targetTotal和currentTotal转换为字符串并完成了工作
function addCommas(num)
{
var x = 1;
var y = 0;
var z = 1;
var c = num.split("");
if (c.length < 4)
{
return c.join("");
}
else
{
c.reverse();
do
{
c.splice((x*3)+y,0,",");
x++;
y++;
z++;
} while (z<(num.length/3));
c.reverse();
return c.join("");
}
}