• js调试的小工具


    在上篇的随笔中自己写了一个小小的js调试的工具,用于代替js的alert()方法,这次抽时间加强了程序的健壮性。这个小工具公开了两个方法:Debug.write(arg)和Debug.writeln(arg)两个方法。

    简单介绍如下:

    Debug.write(arg):输出arg中的内容。arg:可以是js中的原始类型(String、Number、Boolean、Undefiend、Null)。输出的内容不换行。

    Debug.writeln(arg):输出arg中的内容。arg:可以是js中的原始类型(String、Number、Boolean、Undefiend、Null)。输出后带一个换行。

    *为了方便,如果不传递arg,Debug.write()不输出内容。Debug.writeln()产生一个换行。

    源代码如下:

    Debug7.js
     1 /*
    2 Debug7.js
    3 Date: 2012-03-27
    4 Author: JueLance
    5 Blog: http://www.cnblogs.com/liszt/
    6 */
    7
    8 var Debug = (function () {
    9 var _tb;
    10 var Enable = true;
    11 var Clear = false;
    12 var ConsoleWindow = {
    13 "600px",
    14 heght: "300px"
    15 };
    16
    17 var write = function (msg, newline) {
    18 var _msg = "";
    19
    20 if (typeof msg === "string" || typeof msg === "number" || typeof msg === "boolean" || typeof msg === "function") {
    21 _msg = msg.toString();
    22 } else if (typeof msg === "object" && msg !== null) {
    23 if (msg.constructor == Array) {
    24 _msg = msg.toString();
    25 } else {
    26 for (var o in msg) {
    27 _msg += o + ":" + msg[o] + "\r";
    28 }
    29 }
    30 } else {
    31 if (msg === null) {
    32 _msg = "null";
    33 } else {
    34 _msg = "undefined";
    35 }
    36 }
    37
    38 if (Boolean(newline)) {
    39 _msg += "\r";
    40 }
    41
    42 if (Enable) {
    43 if (!_tb) {
    44 _tb = document.createElement("textarea");
    45 _tb.style.width = ConsoleWindow.width;
    46 _tb.style.height = ConsoleWindow.heght;
    47 if (document.body) {
    48 document.body.appendChild(_tb);
    49 } else {
    50 window.onload = function () {
    51 document.body.appendChild(_tb);
    52 }
    53 }
    54 }
    55 if (Debug.Clear) {
    56 _tb.innerHTML = "";
    57 }
    58 _tb.appendChild(document.createTextNode(_msg));
    59 _tb.scrollTop = _tb.scrollHeight;
    60 }
    61 }
    62
    63 return {
    64 write: function (msg) {
    65 if (arguments.length > 0) {
    66 write(msg, false);
    67 } else {
    68 write("", false);
    69 }
    70 },
    71
    72 writeln: function (msg) {
    73 if (arguments.length > 0) {
    74 write(msg, true);
    75 } else {
    76 write("", true);
    77 }
    78 }
    79
    80 };
    81 })();


    Debug7.js文件下载地址

  • 相关阅读:
    运算符和结合性
    几种排序算法 C++
    UNIX环境高级编程笔记
    几个C语言题与答案
    视频流中的DTS/PTS到底是什么 转载
    linux硬链接与软链接 转载
    HTTP POST上传文件(wininet实现)
    并查集(求最小生成树和集团问题)
    c++ vector
    C++STL priority_queue类
  • 原文地址:https://www.cnblogs.com/liszt/p/2420327.html
Copyright © 2020-2023  润新知