Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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 如何返回函数变量的值_Javascript - Fatal编程技术网

Javascript 如何返回函数变量的值

Javascript 如何返回函数变量的值,javascript,Javascript,我正在完成一个旋转木马,我想把代码分开。 我需要返回一个函数变量的值,我不明白。当我在“return”中输入一个值时,它会返回,但变量的值不会返回。 我将发布代码中更重要的部分,并尝试解释 这是第一个函数,用于更改图像。我调用的函数是返回数组中按钮的位置。此数组是“buttons”变量 const buttons = document.querySelectorAll('.carousel-button'); function moveSlider() { buttons.forEach(e

我正在完成一个旋转木马,我想把代码分开。 我需要返回一个函数变量的值,我不明白。当我在“return”中输入一个值时,它会返回,但变量的值不会返回。 我将发布代码中更重要的部分,并尝试解释

这是第一个函数,用于更改图像。我调用的函数是返回数组中按钮的位置。此数组是“buttons”变量

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,并且位置未分配,因此未定义。非常感谢!缺乏关注,非常感谢!缺乏注意力