var_dump in Javascript – debug your JS script

No Comments

As a PHP user, you would love var_dump function. But how would you use it in Javascript? Here is some function that can help you to debug your JS:

/* ====== START FUNCTION ===== */
function var_dump(obj) {
   if(typeof obj == "object") {
      return "Type: "+typeof(obj)+((obj.constructor) ? "\nConstructor: "+obj.constructor : "")+"\nValue: " + obj;
   } else {
      return "Type: "+typeof(obj)+"\nValue: "+obj;
   }
}
/* ====== END FUNCTION ===== */

Or if you like to use print_r then you may try this function:

/* ====== START FUNCTION ===== */
function print_r(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;

	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";

	if(typeof(arr) == 'object') { //Array/Hashes/Objects
		for(var item in arr) {
		var value = arr[item];

		if(typeof(value) == 'object') { //If it is an array,
			dumped_text += level_padding + "'" + item + "' ...\n";
			dumped_text += dump(value,level+1);
		} else {
			dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
		}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}
/* ====== END FUNCTION ===== */

Hope this can help you out.

Leave a Reply