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>

  

  

时间: 2024-10-23 09:51:33

JavaScript中 BOM操作方法以及递归算法案例的相关文章

javascript中BOM部分基础知识总结

一.什么是BOM BOM(Browser Object Document)即浏览器对象模型. BOM提供了独立于内容 而与浏览器窗口进行交互的对象: 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window: BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性: BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初是Netscape浏览器标准的一部分. 二.学习BOM学什么 我们将学到与浏览器窗口交互的一些对象,例如

理解JavaScript中BOM和DOM的关系

JavaScript 有三部分构成,ECMAScript,DOM和BOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其他的浏览器风格迥异.对象是JavaScript是重要API,包含内置对象.外部对象(window对象.dom对象)和自定义对象. 1.BOM全称Browser Object Model,即浏览器对象模型,主要处理浏览器窗口和框架. 2.DOM全称Document Object Model,即文档对象模型,是 HTML 和XML 的应用程序接口(API),遵循W3C

javascript中的BOM结构介绍

javascript中BOM结构是浏览器对象模型,所有对象父对象window 1,js基础之BOM以及Location和History对象 window.location 对象可不带 window 前缀书写. 一些例子: window.location.href 返回当前页面的 href (www.96net.com.cn)window.location.hostname 返回 web 主机的域名window.location.pathname 返回当前页面的路径或文件名window.locat

JavaScript中的常用的数组操作方法

JavaScript中的常用的数组操作方法 一.concat() concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,仅会返回被连接数组的一个副本. var arr1 = [1,2,3]; var arr2 = [4,5]; var arr3 = arr1.concat(arr2); console.log(arr1); //[1, 2, 3] console.log(arr3); //[1, 2, 3, 4, 5] 二.join() join() 方法用于把数组中的所有元素

JavaScript中Function的拓展

Function 是什么东西,就是JavaScript中的顶级类,系统级别的类.我们平时写的函数方法例如下. function Animal() { } Animal就是Function的实例,但是在我们的逻辑中 Animal是类,是自定义类. Function是类,Animal是类也是实例,Animal是Function的实例,Animal是自定义类.这点大家一定要搞清楚. 我们在顶级类上定义一个method的方法,用于进行键值对的方式进行方法链式的设定, Function.prototype

javascript中的操作符详解1

好久没有写点什么了,根据博主的技术,仍然写一点javascript新手入门文章,接下来我们一起来探讨javascript的操作符. 一.前言 javascript中有许多操作符,但是许多初学者并不理解或曲解他们的用途,本章将会带领初学者们一起来学习一下javascript的几个常用操作符:typeof.in.delete.new. 二.学习目标 1. 深入了解javascript操作符:typeof.in.delete.new的功能及用法. 2. 剖析根本,掌握这些常用的操作符的运用场景,活学活

JavaScript中for..in循环陷阱介绍

for...in循环中的循环计数器是字符串,而不是数字它包含当前属性的名称或当前数组元素的索引,下面有个不错的示例大家可以参考下 大家都知道在JavaScript中提供了两种方式迭代对象: (1)for 循环: (2)for..in循环: 使用for循环进行迭代数组对象,想必大家都已经司空见惯了.但是,使用for.. in循环时,大家可要注意了,为什么这么说呢?大家听我娓娓道来.... javascript提供了一种特殊的循环(也就是for .. in循环),用来迭代对象的属性或数组的每个元素,

轻松学习JavaScript十七:JavaScript的BOM学习(二)

JavaScript计时事件 通过使用JavaScript中的BOM对象中的window对象的两个方法就是setTimeout()方法和claerTimeout()方法,我们 有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行.我们称之为计时事件. 在JavaScritp中使用计时事件是很容易的,两个关键方法是: setTimeout()//未来的某时执行代码. clearTimeout()//取消setTimeout(). (1)setTimeout()方法 语法 va

JavaScript大杂烩6 - 理解JavaScript中的this

在JavaScript开发中,this是很常用的一个关键字,但同时也是一个很容易引入bug的一个关键字,在这里我们就专门总结一下页面中可能出现的this关键字(包括几种在其他页面文件中出现的this). JavaScript中的this关键字通常只使用在函数中,它指向当前函数的调用者,这是this关键字的本质,所有的使用方式都是围绕这个展开的,让我们来看一下在各种性质的函数中this的用法.1. 在对象的函数中使用this var person = { name: 'Frank', say: f