Javascript Firebug:在某些情况下忽略输出
当我在Firebug中运行这段代码时:Javascript Firebug:在某些情况下忽略输出,javascript,firebug,Javascript,Firebug,当我在Firebug中运行这段代码时: var s ="test"; var S=new String(s); S.len=4; var t = S.len; console.log(t); typeof(S); S; 它完全忽略了typeof(S)的输出 但如果我这样做: var s ="test"; var S=new String(s); S.len=4; var t = S.len; console.log(t); console.log(type
var s ="test";
var S=new String(s);
S.len=4;
var t = S.len;
console.log(t);
typeof(S);
S;
它完全忽略了typeof(S)的输出代码>
但如果我这样做:
var s ="test";
var S=new String(s);
S.len=4;
var t = S.len;
console.log(t);
console.log(typeof(S));
S;
它做得很好,发生了什么事?Firebug的日志为您提供最后一个表达式的结果(作为调试功能),而不是每个表达式的结果。任何通过console.log()
console.log(typeof (S));
但它总是抛出最后一个表达式和结尾的返回值,而不是前面的表达式
因此,顺序如下:
S;
typeof (S);
typeof (S);
S;
将产生typeof(S)的返回值代码>和其他内容以及顺序:
S;
typeof (S);
typeof (S);
S;
如果S
(即S
),将产生返回值。由于结果没有存储在代码中的任何地方,因此它只运行表达式并删除结果,除了上述任何序列的最后一个表达式中的,其中Firebug向您显示了结果是什么。这是为了方便运行jQuery表达式等。Firebug的日志将为您提供最后一个表达式的结果(作为调试功能),而不是每个表达式的结果。任何通过console.log()
console.log(typeof (S));
但它总是抛出最后一个表达式和结尾的返回值,而不是前面的表达式
因此,顺序如下:
S;
typeof (S);
typeof (S);
S;
将产生typeof(S)的返回值代码>和其他内容以及顺序:
S;
typeof (S);
typeof (S);
S;
如果S
(即S
),将产生返回值。由于结果没有存储在代码中的任何地方,因此它只运行表达式并删除结果,除了上述任何序列的最后一个表达式中的,其中Firebug向您显示了结果是什么。这是为了方便运行jQuery表达式等。但它显示了最后两种情况下的所有结果。.输出函数和对象有什么不同吗?我对答案进行了编辑以使其更清晰。如果您想在日志中输出,您应该始终使用console.log()
(请注意,IE不支持它,并且会引发异常)。但它显示了最后两种情况下的所有结果。输出函数和对象有什么不同吗?我编辑了答案以使其更清楚。如果希望在日志中输出,则应始终使用console.log()
(请注意,IE不支持它,并且会引发异常)。