如果console.log对该网站没有任何改变,它的目的是什么?

时间:2019-01-11 20:18:18

标签: javascript

我是JS的新手。我目前正在使用CodeAcademy(免费,因为我目前很穷)来学习一些基础知识。我能够将内容记录到控制台。创建var和类似的东西。我只是不明白console.log在网站上的用处。它会打印到控制台,但是如果它没有显示在实际站点上又有什么意义呢?

我已经搜索并搜索了所有答案,但是找不到答案。我感觉就像一只鹿被大灯挡住了,无法前进。

3 个答案:

答案 0 :(得分:1)

console.log用于调试。许多开发人员使用它来打印警告和错误。您可以在这里了解更多信息:https://www.w3schools.com/jsref/met_console_log.asp

答案 1 :(得分:0)

开发人员控制台ist仅用于简化您作为开发人员的生活。它可以帮助您更快地查找代码中的错误,并可以记录应用程序的状态。

答案 2 :(得分:0)

在JS的早期,调试是通过 alert()函数执行的,该函数非常烦人并且难以使用(现在已经过时了)。

console.log 只是用于调试的功能。例如,假设您要有一个按钮,可以在页面上添加很酷的效果。例如,您可以将某些内容记录到控制台以检测是否确实发生了单击。例如:

$('#coolButton').click(function() {
  console.log('#coolButton was clicked');
  // other code
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="coolButton">Apply cool effect</button>

另一个示例是,当您从服务器接收某些数据时,您尝试根据自定义字段对数据进行排序,并且会收到一些错误消息,例如undefined。您100%确定要对数据进行排序,那么这是什么问题呢?好了,您可以使用console.log来记录一些对象并查看为什么会出错。例如:

let toSort = [
  {"type": "A", "info": {"value": 5}},
  {"type": "B", "info": {"value": 2}},
  {"type": "C", "info": {"value": 8}},
  {"type": "C", "info": {"value": -1}},
  {"type": "B"},
  // {"type": "B", "info": {"value": 13}},
  {"type": "A", "info": {"value": 10}}]
  
function compare(a, b) {
  if (a.info.value < b.info.value)
    return -1;
  if (a.info.value > b.info.value)
    return 1;
  return 0;
}

toSort.forEach((o, i) => {
  console.log("Object " + i + ": " + o.type + "->" + o.info.value);
});
    
toSort.sort(compare);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

排序将得到=> Uncaught TypeError: Cannot read property 'value' of undefined",因为前一个元素到最后一个元素没有info属性。我们怎么知道呢?我们迭代了数组并打印了对象及其值,然后观察到其中的一个对象未​​定义。 (在现实生活中,该阵列可能来自您所创建的节点服务器,因此您可能希望检查数据以了解如何使用它;如果注释行并取消注释已注释的行,它将工作)。

干杯!