0

我正在使用 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 操作)以获得更可预测的结果。

有什么资料吗?

4

1 回答 1

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

于 2013-04-19T18:22:56.467 回答