"No message" 用 console.log() 写入字符串时
"No message" when writing string with console.log()
我正在尝试将一条消息记录到浏览器(在我的例子中是 Safari)控制台,并通过组合几个字符串来构建它。但是如果我包含一个可以单独记录的特定字符串,我会得到一个看起来像名为 "No message" 的数组,其内容是我要记录的字符串。
此代码:
var msg1 = ["Outlier!",mName,"for",item[i_v].target,"start",item[i_v].start,"end",item[i_v].end].join(' ');
var msg2 = ["Outlier!",mName,"for",item[i_v].target].join(' ');
console.log(item[i_v].start);
console.log(item[i_v].end);
console.log(msg1);
console.log(msg2);
在控制台中生成:
[Log] 2016-01-27T00:00:00 (index.html, line 674)
[Log] 2016-01-04T18:25:51 (index.html, line 675)
[Log] No message (1) (index.html, line 676)
Outlier! percent_availability for BK.CMB.00.BHZ.M start 2016-01-27T00:00:00 end 2016-01-04T18:25:51
[Log] Outlier! percent_availability for BK.CMB.00.BHZ.M (index.html, line 677)
我不得不猜测 item[i_v].start
中的字符串有些古怪(根据 typeof
,它是一个字符串),但不知道它可能是什么或我能做什么做用它来建立一个更大的字符串。任何关于如何这样做的想法,甚至是关于调查内容的建议,都将不胜感激。
这是由于您正在记录的字符串中包含时间戳造成的:
一个快速解决方法是用其他东西替换冒号:
console.log(msg1.replace(/:/g, ";"))
我正在尝试将一条消息记录到浏览器(在我的例子中是 Safari)控制台,并通过组合几个字符串来构建它。但是如果我包含一个可以单独记录的特定字符串,我会得到一个看起来像名为 "No message" 的数组,其内容是我要记录的字符串。
此代码:
var msg1 = ["Outlier!",mName,"for",item[i_v].target,"start",item[i_v].start,"end",item[i_v].end].join(' ');
var msg2 = ["Outlier!",mName,"for",item[i_v].target].join(' ');
console.log(item[i_v].start);
console.log(item[i_v].end);
console.log(msg1);
console.log(msg2);
在控制台中生成:
[Log] 2016-01-27T00:00:00 (index.html, line 674)
[Log] 2016-01-04T18:25:51 (index.html, line 675)
[Log] No message (1) (index.html, line 676)
Outlier! percent_availability for BK.CMB.00.BHZ.M start 2016-01-27T00:00:00 end 2016-01-04T18:25:51
[Log] Outlier! percent_availability for BK.CMB.00.BHZ.M (index.html, line 677)
我不得不猜测 item[i_v].start
中的字符串有些古怪(根据 typeof
,它是一个字符串),但不知道它可能是什么或我能做什么做用它来建立一个更大的字符串。任何关于如何这样做的想法,甚至是关于调查内容的建议,都将不胜感激。
这是由于您正在记录的字符串中包含时间戳造成的:
一个快速解决方法是用其他东西替换冒号:
console.log(msg1.replace(/:/g, ";"))