我目前正在网站上加载custom.js文件,它会调用各种功能。但是,为了减小大小,我只加载某些页面上所需的库。

因此,由于custom.js文件加载在每个页面上,并且调用特定页面可能没有的函数,因此某些页面上的网站上出现undefined is not a function错误。

我想做的是确定在执行代码之前是否定义了某些内容,以防止错误弹出。

例如,我仅在首页上使用Jarallax(http://www.jarallax.com/),并具有以下内容:

var jarallax = new Jarallax();
    jarallax.addAnimation('div#bigSlider',[{progress:'0%',marginTop:'0px'},{progress:'100%', marginTop:'-200px'}]);


由于Jarallax仅加载在主页上,没有其他加载,因此我在除hompeage之外的所有页面上均得到未定义的函数错误。在尝试执行代码之前,我如何首先确认Jarallax已加载?

最佳答案

由于引用未定义的变量会引发ReferenceError异常,因此可以使用try/catch块来处理该异常。

try {
  var jarallax = new Jarallax();
}
catch (e) {
  // desired behavior for this situation.
}


有关try/catch块的更多信息。

09-19 10:33