"alert" is not defined when running www.jshint.com
I fixed this by simply adding var alert;
However, is this what I should be doing to get the pesky error message to go away? Here is the fix. Here is the fail on www.jshint.com.
I'm trying to learn from the error it throws..not necessarily make them go away.
(function () {
"use strict";
var alert; // added this in to fix
function initialize_page()
{
alert ("hi");
}
addEventListener('load', initialize_page);
})();
Instead of
alert('message')
you should use
window.alert('message');
Because this method is defined in window
object.
This of course assumes you have browser
option set to true
in your .jshintrc
, so this way jshint will know window object is exposed.
"browser" : true, // Standard browser globals e.g. window, document.
*The same thing happens with confirm()
.
This documentation says the following about the browser
option:
This option defines globals exposed by modern browsers: all the way from good ol' document and navigator to the HTML5 FileReader and other new developments in the browser world. Note: this option doesn't expose variables like alert or console. See option devel for more information.
and the following about the devel
option:
This option defines globals that are usually used for logging poor-man's debugging: console, alert, etc. It is usually a good idea to not to ship them in production because, for example, console.log breaks in legacy versions of Internet Explorer.
You have browser enabled and devel disabled. You can control these with checkboxes under "Assume" on the jshint original page. I also recommend heeding the warning in the documentation ;-)