zoukankan      html  css  js  c++  java
  • 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文件下载地址

  • 相关阅读:
    The Quad
    将OrCAD Capture CIS的设计文件(.dsn)导入到PADS Logic VX.2.3
    OrCAD Capture CIS 16.6 将版本16.6的设计文件另存为版本16.2的设计文件
    Eclipse IDE 添加jar包到Java工程中
    PADS Logic VX.2.3 修改软件界面语言
    切换Allegro PCB Editor
    Allegro PCB Design GXL (legacy) 将brd文件另存为低版本文件
    Allegro PCB Design GXL (legacy) 设置自动保存brd文件
    Could not create an acl object: Role '16'
    windows 下apache开启FastCGI
  • 原文地址:https://www.cnblogs.com/liszt/p/2420327.html
Copyright © 2011-2022 走看看