<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>测试页面</title> <script type="text/javascript"> /* Error具有下面一些主要属性 description: 错误描述 (仅IE可用). fileName: 出错的文件名 (仅Mozilla可用). lineNumber: 出错的行数 (仅Mozilla可用). message: 错误信息 (在IE下同description) name: 错误类型. number: 错误代码 (仅IE可用). stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用). */ try { clear(); //throw new Error("Whoops!"); } catch (e) { /*除了console.log(),Firebug还支持多种不同的日志级别:debug、info、warn、error*/ console.log(e.name) console.log(e.message) /* 现总结Error.name的六种值对应的信息: 1. EvalError:eval()的使用与定义不一致 2. RangeError:数值越界 3. ReferenceError:非法或不能识别的引用数值 4. SyntaxError:发生语法解析错误 5. TypeError:操作数类型错误 6. URIError:URI处理函数使用不当 */ if (e instanceof EvalError) { //Eval错误 alert(e.name + ":" + e.message); } else if (e instanceof ReferenceError) { //引用错误 alert(e.name + ": " + e.message); } } finally { console.info("无论 try / catch 的结果如何都会执行"); } try { throw new Date(); // 抛出当前时间对象 } catch (e) { console.info(e.name); console.info(e.toLocaleString()); // 使用本地格式显示当前时间 } </script> </head> <body> </body> </html>
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>其它一些例子</title> <script type="text/javascript"> try { console.info([1, 2, 3].toString()); //显示 1,2,3 var a = 2..toString(); //(2).toString() 两种方式都是正确的 console.info(a); var foo = { name: 'kitten' } console.log(foo.name); // kitten console.log(foo['name']); // kitten /* 从对象中移除属性的唯一方法是使用“删除运算符”; 将属性设置为未定义或NULL只移除与属性相关的值,但不移除键。 */ var obj = { bar: 1, foo: 2, baz: 3 }; obj.bar = undefined; obj.foo = null; delete obj.baz; for (var i in obj) { if (obj.hasOwnProperty(i)) { console.log(i, '' + obj[i]); } } //打印0-9 for (var i = 0; i < 10; i++) { setTimeout(function (e) { console.log(e); }, 1000, i); } /* undefined 下面是一些返回值未定义(undefined)的例子: 访问未修改的全局变量未定义。 访问已声明但尚未初始化的变量。 由于缺少返回语句的函数的隐式返回。 不显式返回任何语句的返回语句.。 不存在的属性查找。 没有任何显式值传递的函数参数.。 已设置为未定义值的任何。 无效表达式(表达式) */ //delte删除 var obj = { x: 1 }; obj.y = 2; delete obj.x; // true delete obj.y; // true console.log(obj.x); // undefined console.log(obj.y); // undefined } catch (e) { console.error(e.name); console.error(e.message); } </script> </head> <body> </body> </html>