运行www.jshint.com时,“alert”没有定义

我通过简单地添加var alert;解决这个问题var alert; 但是,这是我应该怎么做让讨厌的错误信息消失? 这是修复。 这是www.jshint.com上的失败。

我试图从错误中学习..不一定让他们消失。

 (function () { "use strict"; var alert; // added this in to fix function initialize_page() { alert ("hi"); } addEventListener('load', initialize_page); })(); 

本文档说明有关browser选项的以下内容:

这个选项定义了现代浏览器暴露的全局variables:从良好的文档和导航到HTML5 FileReader以及浏览器世界的其他新发展。 注意:这个选项不暴露像alert或console这样的variables。 有关更多信息,请参阅选项devel。

以及关于devel选项的以下内容:

这个选项定义了通常用于logging穷人的debugging的全局variables:console,alert等。通常不要在生产环境中运行它们,因为console.log在传统版本的Internet Explorer中中断。

您启用了浏览器并禁用了开发 。 您可以使用jshint原始页面上的“假设”下的checkbox来控制这些选项。 我也build议在文档中注意警告;-)

代替

 alert('message') 

你应该使用

 window.alert('message'); 

因为这个方法是在window对象中定义的 。

这当然假设你的browser选项设置为你的.jshintrc中的.jshintrc ,这样jshint就会知道window对象被暴露了。

 "browser" : true, // Standard browser globals eg window, document. 

* confirm()会发生同样的情况。

在选项中设置“devel:true”。 这使得像警报,控制台等

在这里看到文档: http : //jshint.com/docs/options/

代替:

 alert('message') 

我用:

 var alert = window['alert']; 

尝试传递窗口对象在:

 (function (global) { "use strict"; var alert; // added this in to fix function initialize_page() { global.alert ("hi"); } addEventListener('load', initialize_page); })(window); 

将alert声明为variables,它将在没有任何设置的情况下工作:

例如:

 var alert; alert('hello world');