Javascript 如何返回函数变量的值
我正在完成一个旋转木马,我想把代码分开。 我需要返回一个函数变量的值,我不明白。当我在“return”中输入一个值时,它会返回,但变量的值不会返回。 我将发布代码中更重要的部分,并尝试解释 这是第一个函数,用于更改图像。我调用的函数是返回数组中按钮的位置。此数组是“buttons”变量Javascript 如何返回函数变量的值,javascript,Javascript,我正在完成一个旋转木马,我想把代码分开。 我需要返回一个函数变量的值,我不明白。当我在“return”中输入一个值时,它会返回,但变量的值不会返回。 我将发布代码中更重要的部分,并尝试解释 这是第一个函数,用于更改图像。我调用的函数是返回数组中按钮的位置。此数组是“buttons”变量 const buttons = document.querySelectorAll('.carousel-button'); function moveSlider() { buttons.forEach(e
const buttons = document.querySelectorAll('.carousel-button');
function moveSlider() {
buttons.forEach(element => {
element.addEventListener('click', (event) => {
var buttonId;
var carouselId;
var btnPosition
var id = event.target.id;
buttonPosition(id)
console.log(buttonPosition())
...
var yourReturnValue = buttonPosition(id)
console.log(yourReturnValue)
我在那里调用的函数
function buttonPosition(id){
var position;
for($i = 0; $i < buttons.length; $i++){
if(id == buttons[$i].id){
position = $i;
}
}
return position;
}
功能按钮位置(id){
var位置;
对于($i=0;$i
为什么变量值返回“undefined”?您首先使用参数“id”调用该方法。但是当您使用console.log时,请再次调用该方法,但不使用参数。 您应该将函数的返回值存储在变量中,然后使用或(例如)输出变量
const buttons = document.querySelectorAll('.carousel-button');
function moveSlider() {
buttons.forEach(element => {
element.addEventListener('click', (event) => {
var buttonId;
var carouselId;
var btnPosition
var id = event.target.id;
buttonPosition(id)
console.log(buttonPosition())
...
var yourReturnValue = buttonPosition(id)
console.log(yourReturnValue)
很可能是因为您的
if
条件从来都不是true
,因此您从未进入分支并设置位置
变量。我们可以确定的唯一方法是,如果您发布所有相关代码,以便我们可以执行您的代码。另外,使用$
作为标准变量的前缀是相当少见的$
通常用于表示变量包含对自定义库对象的引用,如JQuery包装集。在控制台中调用buttonPosition函数。日志没有任何参数,因此id未定义,if从不为true,并且位置未分配,因此未定义。非常感谢!缺乏关注,非常感谢!缺乏注意力