JavaScript/Notes/Debugging

From Noisebridge
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tasks Page

Find a few tasks on the following page: debugging tasks

Error Reporting in IE

In IE, go to Tools > Internet Options and choose the Advanced tab. Make sure the check box for "Display a notification for every script error” is checked.

It Doesn't Work!

How to Launch the Debugger

Mac: Opera, Chrome, Firefox: Option + command + i.

Chrome: Debugging JavaScript

debugger keyword

<source lang="javascript"> function myFunc(myParam) {

 debugger;
 var myVar = 1;
 
 function innerFunc() {
 
 }

} </source>


FIXME: Find and fix the bug

The code example below must be changed to output:

Check the value of i: 0
Check the value of i: 1
Check the value of i: 2
Check the value of i: 3

Example <source lang="javascript"> var count = 0; var output = document.getElementById("output");

for ( var i = 0; i < 4; i++ ) {

 setTimeout(function(){ 
   output.textContent = "Check the value of i:" + i; 
 }, 200); 

} </source>

debugger from the menu

Firefox: Debugger.png

Add a Breakpoint

A breakpoint is an intentional point in a script put in place for debugging purposes. Opera: Firefox: Debugger-breakpoint.png


Debugger Keyword Full Example

Copy'n'paste this example into your text editor, open your browser, and open this file. <source lang="html5"> <!doctype html> <head> <title>Debugger Example</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body>

Test Debugger

When Entering an Execution Context, the Variable Environment is initialized with parameter variables, Function Declarations, and Variable Statements.

function myFunc(myParam) {
  debugger;
  var myVar = 1;
  
  function innerFunc() {
  
  }
}

<script> function myFunc(myParam) {

 debugger;
 var myVar = 1;
 
 function innerFunc() {
 
 }

} </script>

Open the debugger and then click the button below.

<button onclick="myFunc(7)">myFunc(7)</button> </body> </html> </source>