我已经看到两者都被使用过,并且我没有看到它们的输出有任何差异。除了 console.log 不需要注入(inject) $log 之外,两者相比还有什么优势吗?
var url = "http://www.google.com";
console.log(url);
$log.info(url);
这两个语句都将字符串返回到控制台窗口。如果 url 是一个对象,则两者都会将该对象的属性返回到控制台窗口。
最佳答案
ng.$log
服务的主要目的是让您拥有稳定的实现(跨浏览器/节点的可用性没有差异),因此您可以使用 关闭所有调试输出$logProvider
(例如在生产构建中或在单元测试期间)。还可以想象您注入(inject)一个替代记录器实现,它将您的日志发送到聚合服务或类似的东西。默认的 $log
服务的行为与 console
完全相同。
基本上:console.log
==硬编码函数,$log
==可重写服务
关于javascript - 在 AngularJS 中,console.log 和 $log.info 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50487340/