龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

JavaScript入门之事件、cookie、定时等(1)(2)

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
从cookie中检索出数据 把数据存放在cookie中所需的语法有些麻烦,但在以后的时间里通过名称来检索cookie的值却是很容易。下面是通过名称来检索cookie值的

从cookie中检索出数据

把数据存放在cookie中所需的语法有些麻烦,但在以后的时间里通过名称来检索cookie的值却是很容易。下面是通过名称来检索cookie值的做法。

  1. alert(document.cookie); 

这一代码从当前域中取得cookie;不过域中可能存放了多个cookie,document.cookie是一个数组,因此,要检索某个特定的cookie的话,你需要正确地找到目标。你很走运:清单3中的自定义函数使得这一过程变得很容易,只要把cookie名称作为参数传进去,接着就可以收到cookie的值了。

清单3. 从已存储的cookie中检索数据

  1. function getCookie(c_name)  
  2. {  
  3. var i,x,y;  
  4. var cookieArray = document.cookie.split(";");  
  5. for (i=0;i  
  6. {  
  7. x = cookieArray[i].substr(0,cookieArray[i].indexOf("="));  
  8. y = cookieArray[i].substr(cookieArray[i].indexOf("=")+1);  
  9. x = x.replace(/^s+|s+$/g,"");  
  10. if(x == c_name)  
  11. {  
  12. return unescape(y);  
  13. }  
  14. }  
  15. }  
  16. alert(getCookie('cookiename')); 

正如你所见到的那样,cookie提供了强大的功能,能够为访问者创建定制的体验,也可以只是存储数据以备以后使用。

定时

JavaScript提供了几个函数来让你控制和设置某些行为的执行时间,这类函数中最常见的是:

1. setInterval

2. clearInterval

3. setTimeout

4. clearTimeout

setInterval函数

在某些情况下,JavaScript代码需要反复执行但又无需任何的用户交互,setInterval函数可以让你很容易就做到这一点。setInterval有两个必需的和一个可选的参数,第一个必需的参数是你想要重复执行的代码(code),第二个参数是毫秒(milliseconds),其定义了JavaScript代码每次执行的间隔时长。第三个可选参数是一个可传递给函数调用的实际参数,这一函数调用是通过code参数来指定的。一开始你可能会觉得所设置的间隔时长有些奇怪,因为它被定义成毫秒。因此,如果你希望每间隔一秒钟运行一次的话,就是要1000毫秒,两秒就是2000毫秒,如此类推。表2列出了每个参数及其在setInterval函数中的作用。

表2. setInterval函数的可用参数

参数必需的还是可选的 描述

code必需的 setInterval函数要执行的JavaScript代码;

这一代码可以是定制的或是一个函数调用。

milliseconds 必需的 每两次代码执行之间的间隔时长,以毫秒为单位。

argument  可选的 是一个很有用的参数,当函数被用作code参数时,

可用来把实际参数传递给该函数。

下面的代码提供了这样的一个例子,即如何使用setInterval函数来每隔10秒钟就执行一次另一个函数,并把一个参数传递给该函数。这样argument的值就可以在执行函数的内部被访问,该参数可以是一个变量、对象,或是一个简单的文本串,如该例子中展示的那样:

  1. setInterval(myFunction, 10000, 'sample');  
  2. function myFunction(myArg)  
  3. {  
  4. alert('myFunction argument value: '+ myArg);  

如果你想要终止这样的一种间隔执行的话,语言也为此提供了一个函数。

clearInterval函数

终止间隔行为需要用到clearInterval函数,不过在最初创建间隔行为时必须要包含一个变量,这样之后的clearInterval才能引用它。下面的代码提供了一个例子,说明clearInterval函数如何引用之前为最初的setInterval设定的变量:

  1. var myInterval = setInterval(myFunction, 10000, 'sample');  
  2. function myFunction(myArg)  
  3. {  
  4. alert('myFunction argument value: '+ myArg);  
  5. clearInterval(myInterval);  

正如你所见到的那样,最初的setInterval函数被指派了一个变量名,其名称为myInterval。在这以后你就可以使用myInterval来引用setInterval,并可改变这一变量,或是使用clearInterval函数来停止最初的间隔执行函数。在这一例子中,这一函数只被调用了一次,因为clearInterval函数在该函数第一次调用时就执行了。

setTimeout函数

在可以基于某个时间约束来执行代码方面,setTimeout函数类似于setInterval函数,甚至其参数也是和setInterval的一样的(参见表2)。不过,最大的不同则是setTimeout函数只执行代码一次而不是重复执行。这里的例子说明了如何使用setTimeout函数来在10秒钟之后执行一个函数。

  1. setTimeout(myFunction, 10000, 'sample');  
  2. function myFunction(myArg)  
  3. {  
  4. alert('myFunction argument value: '+ myArg);  

在你希望执行某些代码,但又不想立刻执行的时候,setTimeout很有用,其实质上就是一种延迟代码执行的方式。

clearTimeout函数

如果出于某些原因,你改变了主意,需要取消setTimeout设置的延迟行为的话,则clearInterval函数可用来处理这一工作。与clearInterval函数一样,要为setTimeout函数指派一个变量名称,这样过后clearTimeout就可以引用它并停止它所设定的行为。下面的代码提供的例子说明了如何使用clearTimeout来停止setTimeout设定的调用:

  1. var myTimeout = setTimeout(myFunction, 10000, 'sample');  
  2. function myFunction(myArg)  
  3. {  
  4. alert('myFunction argument value: '+ myArg);  
  5. clearTimeout(myTimeout);  

在这一例子中,你给最初的setTimeout函数指派了一个变量名称,其被命名为myTimeout。接着你就可以使用myTimeout来引用setTimeout函数并使用clearInterval函数来停止它。

结论

JavaScript语言可以说是最受欢迎的语言之一,现在你明白这是为什么了。这一简单而又丰富的脚本语言带来了如此之多的可能性,它提供的工具允许网站访问者和下载后的网页进行交互,这一功能非常的强大。本文为理解JavaScript语言的基本原理奠定了基础:接下来要做的事情就是把这些概念付诸实践,并开始探索JavaScript对象。

原文:http://select.yeeyan.org/view/213582/211146

精彩图集

赞助商链接