Javascript 括号中的JSLint表示音频没有定义,但没有';不要抱怨形象

Javascript 括号中的JSLint表示音频没有定义,但没有';不要抱怨形象,javascript,dom,eslint,jslint,adobe-brackets,Javascript,Dom,Eslint,Jslint,Adobe Brackets,我有以下代码: var me = { PreloadImage: function(src) { var e = new Image(); e.src = src; }, CreateAudio : function(src) { var c = new Audio(src); c.play(); } } 我对new Audio()有一个问题,因为括号中的JSLint表示尚未定义Audio,但它对I

我有以下代码:

var me = {
    PreloadImage: function(src) {
        var e = new Image();
        e.src = src;
    },
    CreateAudio : function(src) {
        var c = new Audio(src);
        c.play();
    }
}
我对
new Audio()
有一个问题,因为括号中的
JSLint
表示尚未定义
Audio
,但它对
Image
的定义不同:


有时我不得不做一些事情,比如
window.console.log
而不是
console.log
,因为
console.log
没有定义,但是如果是这样,在
Audio
Image
之前我必须添加什么?

您必须等待DOM准备好。由于您使用的是jQuery,请将您的代码封装为:

$(document).ready(function () {
  // Your code...
});
您还可以使用以下语法:

$(function () {
  // Your code...
});

(额外提示:在代码中使用
switch
指令。
RoNBeta.js
有点可怕…

而不是
var c=new Audio(src)使用
var c=document.createElement('audio');c、 src=src;c、 play()

在我看来,公认的答案似乎不是解决这个问题的最佳方式。您应该更改
JSLint
选项,或者在该特定行上禁用该规则


我没有在RoNBeta.js中使用jQuery。我添加了一个功能来检查它。也许是这样,但我的JS文件应该是灵活的。代码仍然有效吗?这只是一个JSLint警告,不是JavaScript错误。@JJJ否。我想我已经修复了它。否,请正确配置linter或使用类似于//eslint disable line No undef的内容