JavaScript скрипты
JavaScript аналог print_r
Здесь мы рассмортим аналог PHP функции PRINT_R на JavaScript, реализующую возможность распечатывать массивы, хэши и прочие объекты
<script> function print_r( array, return_val ) { // Prints human-readable information about a variable var output = "", pad_char = " ", pad_val = 4; var formatArray = function (obj, cur_depth, pad_val, pad_char) { if(cur_depth > 0) cur_depth++; var base_pad = repeat_char(pad_val*cur_depth, pad_char); var thick_pad = repeat_char(pad_val*(cur_depth+1), pad_char); var str = ""; if(obj instanceof Array || obj instanceof Object) { str += "Array\n" + base_pad + "(\n"; for(var key in obj) { if(obj[key] instanceof Array || obj[key] instanceof Object) { str += thick_pad + "["+key+"] => "+formatArray(obj[key], cur_depth+1, pad_val, pad_char); } else { str += thick_pad + "["+key+"] => " + obj[key] + "\n"; } } str += base_pad + ")\n"; } else { str = obj.toString(); }; return str; }; var repeat_char = function (len, char) { var str = ""; for(var i=0; i < len; i++) { str += char; }; return str; }; output = formatArray(array, 0, pad_val, pad_char); if(return_val !== true) { document.write("<pre>" + output + "</pre>"); return true; } else { return output; } } print_r( { name: "Anton", age : 18, interests: { games: ['Counter Strike', 'Космические рейнджеры'], internet: ['programming', 'news'] }, sex : "male" }, false ); </script>
Пример использования print_r
Исходник немного изменен. original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)