alert()返回与console.log()不同?

时间:2010-10-11 18:41:41

标签: javascript firebug

我应该使用alert()进行调试吗?或者是否有时间使用alert()与console.log()?

我看到alert()和console.log()可以返回不同的结果。我认为它们是相似的功能,但只是在不同的地方返回。

背景故事:我的老板喜欢在开发过程中看到警报(),但我无法在警报中获取对象详细信息(至少不容易)。

但是当我通过console.log运行相同的请求时,我得到了对象及其所有参数。

3 个答案:

答案 0 :(得分:4)

由于可以向用户显示警报,因此它往往是字面意思(仅使用toString),因此开发人员可以很好地控制向用户显示的内容。与警报不同,控制台是为开发人员设计的,因此倾向于尝试解释一个调用,以便提供开发人员认为有用的信息:例如“[2,3,4]”对于开发人员来说比“[object Object]”更有用。每个浏览器中的警报应该相同;控制台的行为可能因浏览器而异(包括根本不受支持,如在IE中)。

答案 1 :(得分:2)

alert()使用对象的toString()方法将传递给它的对象转换为字符串。与alert()不同,console.log()不仅限于显示简单字符串,还允许您与传递给它的对象进行交互,例如让您检查其属性。

答案 2 :(得分:2)

尝试提醒(JSON.stringify(yourObject)); (如果您的浏览器有json.stringify ....)