JavaScript学习笔记2.docx
《JavaScript学习笔记2.docx》由会员分享,可在线阅读,更多相关《JavaScript学习笔记2.docx(20页珍藏版)》请在冰豆网上搜索。
![JavaScript学习笔记2.docx](https://file1.bdocx.com/fileroot1/2022-11/16/d731a6d0-d1bd-46d9-a521-0a5993d09954/d731a6d0-d1bd-46d9-a521-0a5993d099541.gif)
JavaScript学习笔记2
JavaScript学习笔记
(2)
1.JavaScriptTry...Catch语句
try...catch的作用是测试代码中的错误。
(1)当我们在网上冲浪时,总会看到带有runtime错误的Javascript警告框,同时会询问我们“是否进行debug?
”。
像这样的错误信息或许对开发人员有用,对用户则未必。
当错误发生时,他们往往会选择离开这个站点。
本节向你讲解如何捕获和处理Javascript的错误消息,这样就可以为受众提供更多的便利。
有两种在网页中捕获错误的方法:
使用try...catch语句。
(在IE5+、Mozilla1.0、和Netscape6中可用)
使用onerror事件。
这是用于捕获错误的老式方法。
(Netscape3以后的版本可用)
注意:
chrome、opera和safari浏览器不支持onerror事件。
Try...Catch语句
try...catch可以测试代码中的错误。
try部分包含需要运行的代码,而catch部分包含错误发生时运行的代码。
语法:
try
{
//在此运行代码
}
catch(err)
{
//在此处理错误
}
注意:
try...catch使用小写字母。
大写字母会出错。
(2)实例1
下面的例子原本用在用户点击按钮时显示"Welcomeguest!
"这个消息。
不过message()函数中的alert()被误写为adddlert()。
这时错误发生了:
functionmessage()
{
adddlert("Welcomeguest!
")
}
我们可以添加try...catch语句,这样当错误发生时可以采取更适当的措施。
下面的例子用try...catch语句重新修改了脚本。
由于误写了alert(),所以错误发生了。
不过这一次,catch部分捕获到了错误,并用一段准备好的代码来处理这个错误。
这段代码会显示一个自定义的出错信息来告知用户所发生的事情。
vartxt=""
functionmessage()
{
try
{
adddlert("Welcomeguest!
")
}
catch(err)
{
txt="此页面存在一个错误。
\n\n"
txt+="错误描述:
"+err.description+"\n\n"
txt+="点击OK继续。
\n\n"
alert(txt)
}
}
(3)实例2
下一个例子会显示一个确认框,让用户来选择在发生错误时点击确定按钮来继续浏览网页,还是点击取消按钮来回到首页。
如果confirm方法的返回值为false,代码会把用户重定向到其他的页面。
如果confirm方法的返回值为true,那么代码什么也不会做。
vartxt=""
functionmessage()
{
try
{
adddlert("Welcomeguest!
")
}
catch(err)
{
txt="Therewasanerroronthispage.\n\n"
txt+="ClickOKtocontinueviewingthispage,\n"
txt+="orCanceltoreturntothehomepage.\n\n"
if(!
confirm(txt))
{
document.location.href="
}
}
}
2.JavaScriptThrow声明
throw声明的作用是创建exception(异常或错误)。
throw声明的作用是创建exception(异常)。
你可以把这个声明与try...catch声明配合使用,以达到控制程序流并产生精确错误消息的目的。
语法:
throw(exception)
exception可以是字符串、整数、逻辑值或者对象。
注意:
使用小写字母编写throw。
使用大写字母会出错!
实例1
下面的实例的作用是测定变量x的值。
如果x的值大于10或者小于0,错误就会被抛出(throw)。
这个错误被catch的参数捕获后,就会显示出自定义的出错信息。
varx=prompt("Enteranumberbetween0and10:
","")
try
{
if(x>10)
throw"Err1"
elseif(x<0)
throw"Err2"
}
catch(er)
{
if(er=="Err1")
alert("Error!
Thevalueistoohigh")
if(er=="Err2")
alert("Error!
Thevalueistoolow")
}
3.JavaScriptonerror事件
如何使用onerror事件捕获网页中的错误。
(chrome、opera、safari浏览器不支持)
(1)onerror事件
我们刚讲过如何使用try...catch声明来捕获网页中的错误。
现在,我们继续讲解如何使用onerror事件来达到相同的目的。
只要页面中出现脚本错误,就会产生onerror事件。
如果需要利用onerror事件,就必须创建一个处理错误的函数。
你可以把这个函数叫作onerror事件处理器(onerroreventhandler)。
这个事件处理器使用三个参数来调用:
msg(错误消息)、url(发生错误的页面的url)、line(发生错误的代码行)。
(2)语法:
onerror=handleErrfunctionhandleErr(msg,url,l)
{
//Handletheerrorhere
returntrueorfalse
}
浏览器是否显示标准的错误消息,取决于onerror的返回值。
如果返回值为false,则在控制台(JavaScriptconsole)中显示错误消息。
反之则不会。
(3)实例:
下面的例子展示如何使用onerror事件来捕获错误:
onerror=handleErr
vartxt=""
functionhandleErr(msg,url,l)
{
txt="Therewasanerroronthispage.\n\n"
txt+="Error:
"+msg+"\n"
txt+="URL:
"+url+"\n"
txt+="Line:
"+l+"\n\n"
txt+="ClickOKtocontinue.\n\n"
alert(txt)
returntrue
}
functionmessage()
{
adddlert("Welcomeguest!
")
}
4.JavaScript特殊字符
你可以在JavaScript中使用反斜杠来向文本字符串添加特殊字符。
(1)插入特殊字符
反斜杠用来在文本字符串中插入省略号、换行符、引号和其他特殊字符。
请看下面的JavaScript代码:
vartxt="Wearetheso-called"Vikings"fromthenorth."
document.write(txt)
在JavaScript中,字符串使用单引号或者双引号来起始或者结束。
这意味着上面的字符串将被截为:
Wearetheso-called。
要解决这个问题,就必须把在"Viking"中的引号前面加上反斜杠(\)。
这样就可以把每个双引号转换为字面上的字符串。
vartxt="Wearetheso-called\"Vikings\"fromthenorth."
document.write(txt)
现在JavaScript就可以输出正确的文本字符串了:
Wearetheso-called"Vikings"fromthenorth。
(2)这是另一个例子:
document.write("You\&mearesinging!
")
上面的例子会产生以下输出:
You&mearesinging!
下面的表格列出了其余的特殊字符,这些特殊字符都可以使用反斜杠来添加到文本字符串中:
代码
输出
\'
单引号
\"
双引号
\&
和号
\\
反斜杠
\n
换行符
\r
回车符
\t
制表符
\b
退格符
\f
换页符
5.JavaScript指导方针
本节的内容是:
在使用JavaScript进行编码的过程中,其他一些需要了解的重要事项。
(1)JavaScript对大小写敏感
名为"myfunction"的函数和名为"myFunction"的函数是两个不同的函数,同样,变量"myVar"和变量"myvar"也是不同的。
JavaScript对大小写敏感-所以当您创建或使用变量、对象及函数时,请注意字符的大小写。
(2)空格
JavaScript会忽略多余的空格。
所以您可以在代码中添加适当的空格,使得代码的可读性更强。
下面的两行是等效的:
name="Hege"
name="Hege"
(3)换行
您可以在文本字符串内部使用反斜杠对代码进行折行。
下面的例子是正确的:
document.write("Hello\
World!
")
但是不能像这样折行:
document.write\
("HelloWorld!
")
第二章
1.JavaScript对象简介
JavaScript是面向对象的编程语言(OOP)。
OOP语言使我们有能力