BOM:window操作对象
一.间隔执行与延迟执行
间隔执行一段代码(函数):window.setInterval("执行的代码",间隔毫秒数);
<html> <body> <span id="s1"></span><br /> <span id="s2"></span><br /> <input type="button" value="在这停住" onclick="stop()" /> </body> </html> <script> var c1 = 0; var c2 = 0; var arr = Array(); arr.push(window.setInterval("sit1()", 500)); arr.push(window.setInterval("sit2()", 500)); function sit1() { document.getElementById(‘s1‘).innerText = ++c1; } function sit2() { document.getElementById(‘s2‘).innerText = ++c2; } function stop() { for(var i in arr) { window.clearInterval(arr[i]); } } </script>
清除间隔执行:window.clearInterval(间隔的ID);
延迟执行代码(函数):window.setTimeout("要执行的代码",延迟毫秒数);
<script> window.setTimeout(sto,3000); 或者window.setTimeout("sto()",3000) function sto(){ alert(‘123‘); window.setTimeout(sto,3000); 死循环没有返回值 } </script>
清除延迟:window.clearTimeout(延迟的ID)。
二.页面跳转类型
第一种(最常用):window.location.href = "http://www.baidu.com";
第二种(IE专用):window.navigate(‘http://www.baidu.com‘);
第三种: window.open(‘http://www.baidu.com‘,‘_blank‘,‘toolbar=no‘)
第1部分写要打开的页面地址;
第2部分写打开的方式,_blank在新窗口打开;_self在本窗口打开;
第3部分是控制打开的窗口,可以写多个用空格隔开;
toolbar = no新打开的窗口无工具条
menubar = no无菜单栏 status = no无状态栏
width = 100; height = 100 宽度高度
left = 100 打开的窗口距离左边多少距离
resizable = no 窗口大小不可调
scrollbars = yes 出现滚动条
location = yes 有地址栏
三.页面刷新:window.location.reload();
四.页面滚动:window.scrollTo(x,y), y代表纵向滚动
五.页面调整:window.resizeTo(宽,高); 调整页面宽和高;
六.window.history对象(历史记录, 通过历史记录可以操作页面前进或者后退)
window.history.back(); 后退
window.history.forward();前进
window.history.go(n);n是正数代表前进n个页面, n是负数代表后退n个页面。
递归算法:
递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。
一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数).
例:斐波那契数列(0,1,2,3,5,8,13,21,.....)输入第几个数,输出这个这个数的值;
<script> function dg(n) { if(n == 2) { return 1 } else if(n == 1) { return 0; } else { return dg(n - 1) + dg(n - 2); } } var x = parseInt(prompt(‘第几个数‘)); alert(dg(x)); </script>