【问题标题】:javascript array lost in function calljavascript数组在函数调用中丢失
【发布时间】:2013-04-26 12:54:02
【问题描述】:

你知道为什么下面的 console.log 会显示我存储在数组 videoList 中的值(本身就是一个文件位置数组)

$(window).load(function(){
    videoChoice = videoList[7];
    console.log(videoChoice); // output: value I have stored in the array (another array)
    setUpVideo($("#video-player", videoChoice));
})

当被调用函数内的console.log显示未定义时:

function setUpVideo(element, vid){
    console.log (typeof(vid)); // output: undefined
}

非常感谢任何帮助。如果您需要更多代码,请询问。我认为最好让我的问题简短而整洁,但似乎我不擅长根据我在这里的经验提出问题。

谢谢你,尼尔

编辑:我在这里查看了类似的问题,但没有看到任何明确的答案(我承认可能更多地与我理解它们的能力有关)

【问题讨论】:

  • 错字? $("#video-player"), videoChoice 而不是 $("#video-player", videoChoice)
  • typeof是一个操作数而不是一个函数,所以你必须以这种方式应用它typeof vid
  • 非常感谢 Alex K 和 user1983983(顺便说一句。这是有史以来最匿名的名字!) 呵呵!有时这些错别字是最令人沮丧的事情!而关于 typeof 的一些教育将会派上用场!还有一件事,我还没有完全掌握这个网站的窍门。您如何将您的问题标记为已排序?

标签: javascript jquery arrays function


【解决方案1】:

括号... 而不是

setUpVideo($("#video-player", videoChoice));

setUpVideo($("#video-player"), videoChoice);

【讨论】:

    【解决方案2】:

    尝试做:

    setUpVideo($("#video-player"), videoChoice);
    

    代替:

    setUpVideo($("#video-player", videoChoice));
    

    【讨论】:

      【解决方案3】:

      行错误

      setUpVideo($("#video-player", videoChoice));
      

      $() 符号内,jquery 将其视为选择器。

      使用

      $("#video-player"), videoChoice);
      

      应该会给你预期的结果

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-17
        • 2021-03-06
        • 1970-01-01
        • 1970-01-01
        • 2020-01-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多