BOM3 定时器,location

Posted on 2013-12-06 08:23  fengqifei  阅读(180)  评论(0)    收藏  举报

//超时调用setTimeout,超过多长时间执行程序,只执行一次

window.setTimeout("alert('feng')",1500);//不推荐的写法, 扩展性不好,封装性也不好
setTimeout(function(){alert("kathy")},2000);//推荐写法

var box = setTimeout(function(){document.write("kathy" + "<br />")},2000);
clearTimeout(box);//取消超时调用


间歇调用setInterval,间隔指定时间循环执行代码

//var jianxie = setInterval("document.write('kathy' + '<br />')",1000);
//clearInterval(jianxie);

//利用间歇调用来做一个定时器

/*
1.这种做法停不了,clearInterval里面不能调用自己本身

var num = 1;
var max = 5;

function aaa(){

var times = setInterval(function(){
document.write(num);
num++;
if(num == max){
clearInterval(this);
alert("60秒到了");
}

},1000);


}

aaa();

*/

 

/*//2.因为setInterval本身就有循环的功能,所以让它循环显示代码,这种方法也不推荐

var num = 1;
var max = 5;

function changeNum(){

document.write(num);
num++;
if(num == max){
clearInterval(times);
alert("5秒到了");
}
}

var times = setInterval(changeNum,1000);

*/

//3.使用函数递归的方法来实现
var num = 1;
var max = 5;

function dingshi(){
document.write(num + "<br />");
num++;
if(num <= max){
setTimeout(dingshi,1000);}
else{
alert("5秒钟到了");
clearTimeout(dingshi);
}
}
setTimeout(dingshi,1000);
*/

//location对象,要在服务器端执行,用来获取和控制URL
/*
alert(location.hash);
alert(location.host);
alert(location.hostname);
alert(location.href);
location.href = "http://www.baidu.com";//常用方法
*/

//获取从问号开始的URL部分
//alert(location.search);

//输入URL中问号后面的键,返回值,比如http://www.baidu.com?id=5&serach=ok,输入id就显示5,输入search就显示ok
function getArgs(){
var args = [];
var qs = location.search.length > 0 ? location.search.substring(1) : '';
var items = qs.split("&");
var item = null,name = null ,value = null;
for (var i = 0;i < items.length ;i++ ){
item = items[i].split("=");
name = item[0];
value = item[1];
args[name] = value;
}
return args;
}
var args = getArgs();
alert(args["id"]);