Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么while.join()会给我错误,而如果没有它,它会工作_Javascript - Fatal编程技术网

Javascript 为什么while.join()会给我错误,而如果没有它,它会工作

Javascript 为什么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

所以,我有这个代码,我只是想用js做一个相反的事情。我引入一个数字,它从max到lower,再从lower到max,有两个变量max和min。我把max减到min,然后重复,直到结果是6174


我不知道为什么当我把所有这些放在一段时间内时,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
,在本例中,它是一个字符串,不再是数组。