虽然我已经定义了变量(JavaScript),但它被认为是未定义的
为什么fin变量没有定义,即使我在for循环之前声明了它虽然我已经定义了变量(JavaScript),但它被认为是未定义的,javascript,Javascript,为什么fin变量没有定义,即使我在for循环之前声明了它 a = function(...args) { total = 0; for (each of args) { total += each; } total = total.toString(); while (total.length != 1) { var fin = 1; for (int i = 0; i < total.length;
a = function(...args) {
total = 0;
for (each of args) {
total += each;
}
total = total.toString();
while (total.length != 1) {
var fin = 1;
for (int i = 0; i < total.length; i++) {
fin *= parseInt(total[i]);
}
total = fin.toString();
}
return parseInt(fin);
}
a(1,2,3,4,5,6)
a=函数(…args){
总数=0;
对于(每个参数){
总数+=每个;
}
total=total.toString();
while(total.length!=1){
var-fin=1;
对于(int i=0;i
如果我删除所有的int
引用,它会正常运行
a=函数(…args){
总数=0;
对于(每个参数){
总数+=每个;
}
total=total.toString();
while(total.length!=1){
var-fin=1;
对于(i=0;i console.log('result',result)
您正在使用一个不存在的int
关键字,以及一些未定义的int
对象。你要做的是:
a=函数(…args){
总数=0;
对于(每个参数){
总数+=每个;
}
total=total.toString();
while(total.length!=1){
var-fin=1;
for(设i=0;i
要使此代码正常运行,您需要做几项更改
JavaScript没有
int
关键字。您的int i
在JavaScript中无效。使用var i
或let i
total
和应使用let
定义每个(或var
)。因此,a
也应该如此。@fedesc它是用var
定义的,所以它的作用域是整个函数。@fritzdulty这是不正确的。小心,i
正在污染全局作用域。我正在修复他的代码中的直接错误。当然,这是一个混乱的除了其他原因,但它现在运行哈哈