为了账号安全,请及时绑定邮箱和手机立即绑定

为什么console.log()被认为比alert()更好?

为什么console.log()被认为比alert()更好?

蓝山帝景 2019-08-28 15:26:59
为什么console.log()被认为比alert()更好?我总是被告知,在调试应用程序时,JavaScript的console.log()方法比简单地使用alert()方法更受欢迎。为什么是这样?有没有一个很好的例子,有人可以指出哪里console.log()显然是更好的选择?
查看完整描述

3 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

  • alert() 阻止

  • alert() 在非调试环境中无法轻易抑制

  • console 通常可以很好地格式化您的对象并允许遍历它们

  • 日志语句通常具有指向发出日志记录语句的代码的交互式指针

  • 你不能一次看多个alert()消息

  • consoles可以具有不同的日志记录级别和直观的格式


查看完整回答
反对 回复 2019-08-28
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

试试这个:

var data = {a: 'foo', b: 'bar'};console.log(data);alert(data);

你会看到它console.log向你显示对象,同时alert给你[object Object],这是没用的。这也是正确的,例如元素:

alert(document.body); // [object HTMLBodyElement] (exact result depends on your browser)


查看完整回答
反对 回复 2019-08-28
?
智慧大石

TA贡献1946条经验 获得超3个赞

两者都只是获取有关JS当时发生的事情的信息的一种方式。我曾经一直使用alert()但由于一些原因迁移到console.log()。(旁注:控制台提供的不仅仅是log(),看看它还能做些什么)。

我认为console.log()的主要好处是:

  • 它不会像警报那样停止进程

  • 你可以看到什么行的脚本抛出日志条目而不将行放入你的消息中

  • 如果您正在调试多个东西,那么在警报框上按“确定”就会变得非常烦人

  • 你可以记录对象并获得大量的好信息(感谢提醒,其他回答者)

最后,它归结为您更喜欢调试的方式。

有一点需要注意。并非所有浏览器都支持console.log(),如果您在代码中保留console.log()调用,则会出现问题。如果控制台不可用于解决该问题,请提供控制台存根。


查看完整回答
反对 回复 2019-08-28
  • 3 回答
  • 0 关注
  • 411 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信