在 Javascript 中数据类型 null 只有一个值:null。关键字 null 不能用作函数或变量的名称。包含 null 的变量包含“无值”或“无对象”。换句话说,该变量没有保存有效的数、字符串、Boolean、数组或对象。可以通过给一个变量赋 null 值来清除变量的内容。请注意,在 Javascript 中,null 与 0 不相等(与在 C 和 C++ 中不同)。同时应该指出的是,Javascript中 typeof 运算符将报告 null 值为 Object 类型,而非类型 null。这点潜在的混淆是为了向下兼容。双引号内部包含双引号的时候,双引号改用单引号或者使用转义字符\"以上报告:'_console' 为空或不是对象,这是因为javascript中_console.focus();
_console.document.writeln(msg);不在函数debug(msg)中,浏览器会先执行这两句,你应该将其放到函数中。象这样:<Script>
var _console=null;
var n=1;
//window.document.write(typeof(_console));
function debug(msg)
{
if((_console==null)||(_console.closed))
{
_console=window.open("","console","width=600,height=300,resizable");
_console.document.open("text/html");
_console.focus();
_console.document.write(msg);
}
n++;
}</Script><body>
<form>
<input type="button" value="点击我" onclick="debug('你已经点击我:\t'+n+'次');">
</form>
</body>
调试javascript我喜欢用firefox浏览器。

解决方案 »

  1.   

    谢谢chouchy(城市刀客)大侠的指点,我又对NULL有了新的理解!以上提到的错误我都注意了,确实第四个大括号打的不是地方。chouchy(城市刀客)热情的讲了详细原因,并对代码做出了更改。在此表示感谢!
    可惜的是:代码运行的效果有点打折,我用的是IE7运行了一下,当显示“你点击我1次”后,再点击,已经弹出的窗口,还是显示“你点击我1次”,把窗口关了,再点,显示就不是1次了,是n累加后的次数。而本程序原来意思,是点击,一直在向document对象写点击次数,是实时刷新的。
    后来我终于调试成功了,当然是在看了chouchy(城市刀客)的帖子下调试成功的!再次感谢!
    正确代码如下:
    <Script>
    var _console = null;
    function debug(msg)
    {
    if((_console==null)||(_console.closed))
       {
       _console=window.open("","console","width=600,height=300,resizable");
       _console.document.open("text/plain");
       }   _console.focus();
       _console.document.writeln(msg);
    }
    </Script>
    <script>var n = 0;</script>
    <form>
    <input type="button" value="点击我" onclick="debug('你已经点击我:\t'+ ++n +'次');">
    </form>我改动的地方是:
    /*-------------------------------*/
       _console.focus();
       _console.document.writeln(msg);
    还是放在if循环外面好,窗口一旦弹出,上面的条件就是假了,永远不会拾焦点,写文档了。
    /*-------------------------------*/