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)