• 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个页面。

      关于获取各种浏览器可见窗口大小: 
        <script> 
          function getInfo() {
            var s = ""; 
              s = " 网页可见区域宽:" document.body.clientWidth; 
              s = " 网页可见区域高:" document.body.clientHeight; 
              s = " 网页可见区域宽:" document.body.offsetWidth " (包括边线和滚动条的宽)"; 
              s = " 网页可见区域高:" document.body.offsetHeight " (包括边线的宽)"; 
              s = " 网页正文全文宽:" document.body.scrollWidth; 
              s = " 网页正文全文高:" document.body.scrollHeight; 
              s = " 网页被卷去的高(ff):" document.body.scrollTop; 
              s = " 网页被卷去的高(ie):" document.documentElement.scrollTop; 
              s = " 网页被卷去的左:" document.body.scrollLeft; 
              s = " 网页正文部分上:" window.screenTop; 
              s = " 网页正文部分左:" window.screenLeft; 
              s = " 屏幕分辨率的高:" window.screen.height; 
              s = " 屏幕分辨率的宽:" window.screen.width; 
              s = " 屏幕可用工作区高度:" window.screen.availHeight; 
              s = " 屏幕可用工作区宽度:" window.screen.availWidth;

              s = " 你的屏幕设置是 " window.screen.colorDepth " 位彩色"; 
              s = " 你的屏幕设置 " window.screen.deviceXDPI " 像素/英寸"; 

                alert(s);

            }

          </script>


    递归算法:

        递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。

        一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数).

      例:斐波那契数列(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>

      

      

  • 相关阅读:
    再学梳理数据指标体系
    mac下Robot Framework-demo脚本
    Robot Framework-环境搭建
    Tensorflow学习笔记No.11
    Tensorflow学习笔记No.10
    Tensorflow学习笔记No.9
    Tensorflow学习笔记No.8
    Tensorflow学习笔记No.7
    Tensorflow学习笔记No.6
    Tensorflow学习笔记No.4.2
  • 原文地址:https://www.cnblogs.com/bekeyuan123/p/6754693.html
Copyright © 2020-2023  润新知