“未捕获的TypeError:undefined不是函数”

时间:2014-04-10 09:10:45

标签: javascript jquery html5-video

我正在修复某人的js代码,并得到了这个问题。我正在初始化新的视频播放器对象(video.js)。我有一些实例方法。但是在我的js代码中,我做了类似的事情 mediaPlayer.instance.playerScrollTo()它引发了我的错误。但是,当我在chrome控制台中执行相同的代码时,它会正确执行。我也做了console.log(mediaPlayer.instance)并且在方法列表中,我看到了我的方法playerScrollTo。 如果我错过了一些信息,请随时询问。

那么我做错了什么?

2 个答案:

答案 0 :(得分:2)

也许,当您的代码调用时,尚未创建(未定义)实例,关于在Chrome控制台中调用它时,所有内容都已加载。

答案 1 :(得分:0)

当您尝试调用尚未定义的函数时,会导致undefined is not a function错误。有几件事情常常导致它:

常见原因

  1. 导入顺序 - 您已尝试调用在文件中导入该文件之前在文件中定义的函数。
  2. 无法解析 - 包含该函数的文件中有错误导致解析器在定义函数之前保释
  3. 错字 - 您调用了函数myFunction,并尝试调用myfunction()。
  4. 在这种情况下,playerScrollTo未定义为mediaPlayer.instance的属性。

    调试

    要调试它,请使用FireBug。在抛出错误的行之前设置断点,并检查mediaPlayer对象。

    祝你好运。