javascript 中的console.log

本文介绍了如何使用console.log()函数进行JavaScript调试,包括其相对于alert()的优势、在不同浏览器中的兼容性处理、参数使用方法及如何输出不同类型的调试信息。
1、

主要是方便你调式javascript用的。你可以看到你在页面中输出的内容。

相比alert他的优点是:

  1. 他能看到结构化的东西,如果是alert,淡出一个对象就是[object object],但是console能看到对象的内容。

  2. console不会打断你页面的操作,如果用alert弹出来内容,那么页面就死了,但是console输出内容后你页面还可以正常操作。

  3. console里面的内容非常丰富,你可以在控制台输入:console,然后就可看到:

1
Console {memory: MemoryInfo, debug: function, error: function, info: function, log: function…}

它有网页的各种提示。

2、对于JavaScript程序的调试,相比于alert(),使用console.log()是一种更好的方式,原因在于:alert()函数会阻断JavaScript程序的执行,从而造成副作用;而console.log()仅在控制台中打印相关信息,因此不会造成类似的顾虑

一、什么是console.log()?
除了一些很老版本的浏览器,现今大多数浏览器都自带调试功能;即使没有调试功能,也可以通过安装插件来进行补充。比如,老版本的Firefox没有自带调试工具,在这种情况下可以通过安装Firebug插件来添加调试功能。在具备调试功能的浏览器上,window对象中会注册一个名为console的成员变量,指代调试工具中的控制台。通过调用该console对象的log()函数,可以在控制台中打印信息。比如,以下代码将在控制台中打印”Sample log”:
 
 代码如下:window.console.log("Sample log");
上述代码可以忽略window对象而直接简写为:
 代码如下:console.log("Sample log");
console.log()可以接受任何字符串、数字和JavaScript对象。与alert()函数类似,console.log()也可以接受换行符n以及制表符t。console.log()语句所打印的调试信息可以在浏览器的调试控制台中看到。不同的浏览器中console.log()行为可能会有所不同, 本文主要探讨Firebug中console.log()的使用 。
二、兼容没有调试控制台的浏览器
对于缺少调试控制台的老版本浏览器,window中的console对象并不存在,因此直接使用console.log()语句可能会在浏览器内部造成错误(空指针错误),并最终导致某些老版本浏览器的崩溃。为了解决这一问题,可以人为定义console对象,并声明该console对象的log函数为空函数;这样,当console.log()语句执行时,这些老版本的浏览器将不会做任何事情:
代码如下:if(!window.console){
  window.console = {log : function(){}};
}
不过,在大多数情况下,没有必要去做这种兼容性工作 — console.log()等调试代码应当从最终的产品代码中删除掉。
三、使用参数
与alert()函数类似,console.log()也可以接受变量并将其与别的字符串进行拼接:
代码如下://Use variable
var name = "Bob";
console.log("The name is: " + name);
与alert()函数不同的是,console.log()还可以接受变量作为参数传递到字符串中,其具体语法与C语言中的printf语法一致:
 代码如下://Use parameter
var people = "Alex";
var years = 42;
console.log("%s is %d years old.", people, years);
上述代码的执行结果为:”Alex is 42 years old.”

一般情况下我们用来输入信息的方法主要是用到如下四个

1、console.log 用于输出普通信息

2、console.info 用于输出提示性信息

3、console.error用于输出错误信息

4、console.warn用于输出警示信息

5、console.debug用于输出调试信息




代码示例:
//变量
var i = 'I am a string';
console.log('变量:',i);

//数组
var arr = [1,2,3,4,5];
console.log('数组:',arr);

//对象
var obj1 = {
key1 : 'value1',
key2 : 'value2',
key3 : 'value3'
};
var obj2 = {
key6 : 'value4',
key5 : 'value5',
key4 : 'value6'
};
var obj3 = {
key9 : 'value7',
key8 : 'value8',
key7 : 'value9'
};

console.log('对象:',obj1);
//对象数组
var objArr1 = [obj1,obj2,obj3];
var objArr2 = [[obj1],[obj2],[obj3]];

console.log('对象数组1:',objArr1);
console.log('对象数组1:',objArr2);

 

/*
输出:
变量:I am a string
数组:[1, 2, 3, 4, 5]
对象:Object { key1="value1", key2="value2", key3="value3"}
对象数组1:[Object { key1="value1", key2="value2", key3="value3"}, Object { key6="value4", key5="value5", key4="value6"}, Object { key9="value7", key8="value8", key7="value9"}]
对象数组1:[[Object { key1="value1", key2="value2", key3="value3"}], [Object { key6="value4", key5="value5", key4="value6"}], [Object { key9="value7", key8="value8", key7="value9"}]]
*/





### `console.log` 的用法 `console.log` 是 JavaScript 中用于在浏览器控制台输出信息的方法。它可以接受一个或多个参数,并将这些参数输出到控制台。以下是一些使用示例: ```javascript // 输出单个值 console.log('Hello, World!'); // 输出多个值 let num = 42; console.log('The answer is', num); // 输出对象 let person = { name: 'John', age: 30 }; console.log(person); ``` ### `alert` 的用法 `alert` 是 JavaScript 中的一个全局函数,用于显示一个带有指定消息的警告框。它会暂停脚本的执行,直到用户关闭警告框。示例如下: ```javascript // 显示简单的警告框 alert('This is an alert message.'); // 显示包含变量的消息 let message = 'Welcome, user!'; alert(message); ``` ### 区别 - **显示方式**:`console.log` 将信息输出到浏览器的控制台,不会干扰用户的正常浏览;而 `alert` 会弹出一个模态对话框,阻止用户与页面的其他部分进行交互,直到对话框被关闭[^1]。 - **功能用途**:`console.log` 主要用于调试和记录程序运行过程中的信息,开发人员可以查看变量的值、函数的执行结果等;`alert` 通常用于向用户显示重要的提示信息,如错误消息、确认信息等。 - **参数处理**:`console.log` 可以接受多个参数,并将它们依次输出;`alert` 只能接受一个字符串作为参数,如果传入多个参数,会自动将它们转换为字符串并拼接在一起。 ### 应用场景 - **`console.log` 的应用场景** - **调试代码**:在开发过程中,通过输出变量的值和函数的执行结果,帮助开发人员找出代码中的问题。 - **监控程序运行状态**:记录程序的关键步骤和数据,以便分析程序的性能和行为。 ```javascript function add(a, b) { console.log('Adding', a, 'and', b); return a + b; } let result = add(5, 3); console.log('Result:', result); ``` - **`alert` 的应用场景** - **提示用户**:当用户进行某些操作时,显示重要的提示信息,如确认删除、输入错误等。 - **显示重要通知**:向用户传达一些关键的信息,如系统维护、更新提示等。 ```javascript if (userInput === '') { alert('Please enter some text.'); } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值