首页 > 代码库 > JavaScript中 BOM操作方法以及递归算法案例

JavaScript中 BOM操作方法以及递归算法案例

 

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>

 

  

  

JavaScript中 BOM操作方法以及递归算法案例