<script type="text/javascript">
var x=prompt("What type of music is Led Zeppelin?","");
try
{
if(x != 'rock and roll')
{
throw "Err1";
}
}
catch(er)
{
if(er=="Err1")
{
alert("Sorry, you're wrong.");
}
}
</script>
需要注意的一点是,try、catch和throw都是小写的:使用大写会产生一个JavaScript错误。
创建弹出框
JavaScript允许你创建几种类型的弹出框,最常见的一些类型——也是这里要谈论的显示框——是警告框、确认框和提示框。
警告框
警告框并不常用于它们的最初目的,它们是一种快速方便地显示页面错误、警告或是其他重要消息的方式。目前,警告框最常用来作为调试JavaScript代码的方式,所以公平地来讲,它们还是有着自己的位置所在的——只是这一最佳做法不是用于最初打算的目的罢了。而且,如果你使用 Mozilla Firefox、Apple Safari或是Google Chrome的话,那么可以只用console.log就可以达到调试的目的了。所以底线是,当所有其他的做法都失败了的话,警告框是一个可行的替代方案,能够完成任务。创建一个警告框非常的容易:只要把alert函数当作一行代码录入,并给它传递一个参数,其就会使用你传递给它的任何值来打开一个窗口。例如,你可以录入一个简单的串,或是你可以使用警告框来显示作为参数传递给它的变量的值,这是一个很好的说明警告框如何用来做调试的例子。下面是一个很基础的例子,说明如何使用alert函数来产生一个警告框。
alert("This can be a variable or a simple text string");
确认框
确认框被用来验证用户在网站上所做的选择。例如,如果你是web应用的开发者,而某个用户选择了删除他或她的用户帐号的话,则在允许用户继续提交请求之前对这一选择进行确认会是一个很好的考虑。
通常情况下,confirm函数会写在某个条件语句的内部,首先确认用户是否打算要继续所做的选择,接着,基于该决定来确定是否要执行JavaScript代码。下面的例子把confirm函数用在条件中,以此来确定要执行哪一段JavaScript代码:
复制代码 代码如下:
if(confirm("Click for a response"))
{
alert('You clicked OK');
}
else
{
alert('You clicked Cancel');
}
提示框
在寻找一种快速的提出问题,并允许用户提供一个答案的方式时,不要找别的,提示框就最合适了。通常情况下,现在的web开发者都选择定制的内联弹出窗口。虽然是这样,但提示框依然存在,它们依然有着自己的一席之地,特别是在调试的时候。prompt函数被用来产生一个提示框,其有两个参数,第一个参数是一个自定义的文本串,这通常是一个问题或是提示用做出某种响应的陈述;第二个参数是一个文本串,其被用作显示在提示框中的缺省的输入文本。这一缺省值是可选的,且你可在运行时改变它。下面是一个prompt函数的列子,该函数被用来向用户提出一个问题,然后在一个警告框中显示用户的响应,显示用到的是从prompt函数中返回的值。
复制代码 代码如下:
var response=prompt("What is your favorite band?","Led Zeppelin");
if (response!=null && response!="")
{
alert("response: "+ response);
}
使用cookie
cookie的存在是为了在客户端存储数据,这样你的JavaScript代码在过后就可以检索和重用这些数据。如果使用得当的话,把数据存储在用户的计算机上会有许多的好处。你可以使用cookie来定制用户的体验,确定如何基于之前的行为来给他们呈现信息等等。cookie使用的例子包括了存储访问者的名称或是其他相关信息,这些信息过后可用来显示在网站上。cookie是一个存放在访问者的web浏览器中的文本文件,其包含了一对名称-值、一个到期日期,以及其应该发送给的服务器的域和路径。
创建cookie
创建cookie很简单:你只需要确定想要存放的信息、存放的时长,以及为将来的引用命名该cookie就可以了。不过,虽然创建它是很简单,但语法却有些难整,你需要给出正确的语法,它才能正常地起作用。下面的代码展示了一个如何创建cookie和把数据存放在其中的例子。
document.cookie =
'cookiename=cookievalue; expires=Sat, 3 Nov 2001 12:30:10 UTC; path=https://www.jb51.net/'
存放在cookie中的串的第一部分是一对名-值,即cookiename=cookievalue这部分,一个分号(;)把这一名值对和第二部分隔开来。串的第二部分是以正确格式书写的到期日期,后面跟着一个分号来把它和第三部分,也就是最后一部分分开来,这一部分是路径。
从cookie中检索出数据
把数据存放在cookie中所需的语法有些麻烦,但在以后的时间里通过名称来检索cookie的值却是很容易。下面是通过名称来检索cookie值的做法。
alert(document.cookie);
这一代码从当前域中取得cookie;不过域中可能存放了多个cookie,document.cookie是一个数组,因此,要检索某个特定的cookie的话,你需要正确地找到目标。你很走运:清单3中的自定义函数使得这一过程变得很容易,只要把cookie名称作为参数传进去,接着就可以收到cookie的值了。
清单3. 从已存储的cookie中检索数据
复制代码 代码如下: