Javascript 为什么while.join()会给我错误,而如果没有它,它会工作
所以,我有这个代码,我只是想用js做一个相反的事情。我引入一个数字,它从max到lower,再从lower到max,有两个变量max和min。我把max减到min,然后重复,直到结果是6174Javascript 为什么while.join()会给我错误,而如果没有它,它会工作,javascript,Javascript,所以,我有这个代码,我只是想用js做一个相反的事情。我引入一个数字,它从max到lower,再从lower到max,有两个变量max和min。我把max减到min,然后重复,直到结果是6174 我不知道为什么当我把所有这些放在一段时间内时,max.join()给了我一个错误:“Uncaught TypeError:max.join不是的一个函数第一次迭代max就像你期望的那样是一个数组: [ 4, 3, 2, 1 ] 但是,在第一次迭代中,重新分配了值: max = max.j
我不知道为什么当我把所有这些放在一段时间内时,max.join()给了我一个错误:“Uncaught TypeError:max.join不是的一个函数第一次迭代
max
就像你期望的那样是一个数组:
[
4,
3,
2,
1
]
但是,在第一次迭代中,重新分配了值:
max = max.join('');
因此,在第二次迭代中,它现在是“4321”
(一个字符串)
和
“4321”。join(“”)
不是函数,因为它不是字符串上的函数。返回字符串,因此min
和max
将在第一轮循环后成为字符串。而字符串没有。join()
method我想只要将min&max
变量移动到内部,而循环就能解决您的问题。@MilindAgrawal不会的:“用var声明的变量的范围是其当前执行上下文,它要么是封闭函数,要么是在任何函数外部声明的变量的全局范围。“我在网上试过了,效果很好”所以在第二次迭代中,它现在是4321
“-这个值应该至少有引号,或者更好地说4321
,在本例中,它是一个字符串,不再是数组。