javascript log()vs document.write() - 要使用哪个?

时间:2013-04-19 18:00:49

标签: javascript logging document.write

我正在使用Remy Sharp的twitterlib:https://github.com/remy/twitterlib,在示例文件中,他使用log(// stuff)输出到屏幕。我之前只遇到过document.write()来填充这个容量,只看到log()和控制台日志记录一起。这是片段(见第4和第6行):

var count = 0, limit = 2;
twitterlib.timeline('rem', { limit: 5 }, function (tweets) {
  count++;
  log('<strong>Tweets requested in hit ' + count + '</strong>');
  for (var i = 0; i < tweets.length; i++) {
    log(this.ify.clean(tweets[i].text));
  }

  if (count < limit) {
    this.next();
  }
});

我找不到有关log()的任何信息作为输出到屏幕的独立javascript方法,所以我想知道继续使用它是否是一个好主意,或者我是否应该写入另一个屏幕方式(例如document.write()或jQuery DOM操作)以获得更可预测的结果。

任何信息?

1 个答案:

答案 0 :(得分:0)

如果你看上面的代码,你会发现log的函数定义:

function log(s) {
    document.getElementById('debug').innerHTML += '<p>' + s + '</p>';
}

由于Paul Irish将其作为html5bootstrap中console.log的包装器,因此您可以看到大量登录。但在这些情况下,它会打印到控制台而不是窗口。通常,您应该避免使用document.write并使用类似上面的异步友好方法。请参阅Douglas Crockford的解释原因:http://javascript.crockford.com/script.html