gpt4 book ai didi

Javascript理解返回

转载 作者:行者123 更新时间:2023-12-01 03:47:25 24 4
gpt4 key购买 nike

如果我删除 namePosition,为什么警报不起作用? Javascript 执行时是否逐行(从上到下)读取?如果是,那么警报应该起作用,因为它在返回之前首先执行/读取。

function positionIdentifier(name, nameArray) {
var namePosition;
for (i = 0; i < nameArray.length; i++) {
if (nameArray[i] == name) {
namePosition = function() {
alert("Your name is in position number " + (i + 1));
}
return namePosition;
}

}

}

name1Array = ["look", "sky", "walk", "kier"];
positionIdentifier("walk", name1Array)();

最佳答案

您的函数按原样运行,但是,无需声明/命名要返回的函数。只需返回函数即可。这大大简化了代码。另外,您没有使用 var 声明循环变量或数组变量,这会导致它们成为全局变量。请记住声明所有变量。

function positionIdentifier(name,nameArray){

for(var i = 0; i < nameArray.length; i++){
if(nameArray[i] == name){
return function(){
alert("Your name is in position number "+(i+1));
}
}
}
}

var name1Array = ["look","sky","walk","kier"];
positionIdentifier("walk", name1Array)();

关于Javascript理解返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43475814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com