<p id="longeststring">
</p>
<script>
var arr=[];
var longest=arr[0];
function largestString(arr)
{
for (var i=0;i<arr.length;i++)
{if(arr[i].length>=longest.length)
{longest=arr[i]}
}
return longest;
}
z=["what","am","I","doing","now"]
document.getElementById("longeststring").innerHTML=largestString(z)
</script>
所以当 var longest=arr[0] 在函数内部时它起作用,但是当我把它带到外面时,它显示“longest not defined”。这是为什么?我想把它放在函数之外,变量“longest”可以 self 更新。
提前谢谢你。
最佳答案
当您将表达式 var longest=arr[0];
放在函数外部时,arr
指的是全局变量。它的值被设置为[]
,所以它的第一项的值是未定义的。
但如果将表达式 var longest=arr[0];
放在范围内,arr
会引用参数,因此它将具有正确的值。
关于javascript - 全局变量不起作用-largestString() 将字符串数组作为输入并返回该数组中最大的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58279061/