`
yumo12
  • 浏览: 18487 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

JS一起学04:函数返回值、定时器、随机数、自动播放的幻灯片

    博客分类:
  • js
阅读更多
一、函数返回值----将相应的值返回到函数调用的地方
1. 可以不写返回值
2. 可以没有return,如果不返回,默认返回undefined
3. 本函数内,renturn之后的JS语句不再执行,跳出
4. 可以返回任意类型
例一
window.onload=function() { 
 function fn() { 
      var a=4;
      alert(123);
      return a+1;
      alert(456);
 };
 //默认返回undefined
 alert( fn() );
};
例二:
function fn(){ 
    var a=4; 
    return [a];
}
var n=fn();
alert()n[0];
 function fn(){
      var a=4;
      return function(){
           alert(a);
      };
 };
 //默认返回undefined
 //var n=fn(); //闭包
 fn()();
5. 函数预解析,函数可以先用后定义---->同一个作用域下
var oBtn=document.getElementById('btn');
oBtn.onclick=function(){
    fn(3);
}
function fn(a){     //预解析
    alert(a);
}
6. 局部函数也会预解析:当JS执行到这个函数的时候才会预解析。
fn();
function fn(){
    fn2();
    function fn2(){
        alert(444);
    }
}    
7. 变量也会预解析,可以理解为提前设定 var a; 只有var,才会预解析
8. return时函数就结束了,return 后面的代码不会执行。没有return 时,返回undefined
例一:
var a=5;
function fn(){
    alert(a);
    var a=4;
    alert(a);
}
fn(a);
alert(a);   //全局变量不受局部影响
例二:
var a=5;
function fn(){
    alert(a);   //5
    a=4;
    alert(a);  //4
}
fn();
alert(a);   //4
9. 一个函数应该只返回一种类型的值
        function show(a,b){
            return a+b;
        }
        alert(show(11,12));
变量、参数、返回值——可以装任何东西(数字、字符串、元素、数组、函数)
二、定时器
定时器---同一个对象 : 每次用之前先清掉上一次
定时器中不能用this
1. 开启定时器
  (1) setInterval  间隔型
  (2) setTimeout 延时型
            可以在函数内部调用函数自己
                function f(){
                    alert(123)
                    setTimeout(f,1000);
                }
                setTimeout(f,1000);
2. 停止定时器
clearInterval / clearTimeout
    var oBtn1=document.getElementById('btn1');
    var oBtn2=document.getElementById('btn2');
    oBtn1.onclick=function(){
        timer=setInterval(function(){
            alert('a')
        },3000);
    }
     oBtn2.onclick=function(){
        clearInterval(timer);
    }
3. var oBox=document.getElementById('box');
    function f(){
        alert(123);
    }
    // setInterval('alert(11)',500);   //第一个参数也可以放字符串,相当于eval
    setInterval(f,500);
4.闪烁提醒
    var timer; 
    oBtn.onclick=function(){
        oDiv1.style.display=oShadow.style.display='block';
    }
    oShadow.onclick=function(){
        clearInterval(timer);
        timer=setInterval(function(){
            var n=0;
            n++;
            n%2==0?oH1.style.background='#ccc':oH1.style.background='#f00';
            n=20&&clearInterval(timer);
        },50);
    }
5. 双色球
function findSame(arr,n){
     for(var i=0;i<arr.length;i++){
          if(arr[i]==n){
               return false;
          }
          return true;
     }
}
function rnd(n,m){
     return parseInt(Math.random()*(m-n+1)+n);
}
function toDou(n){
     if(n<10){
          return '0'+n;
     }
     return ''+n;
}
window.onload=function(){
     var oBtn=document.getElementById('btn');
     var oBox=document.getElementById('box');
     var arr=[];
     oBox.innerHTML='';
     oBtn.onclick=function(){
          while(arr.length<6){
               var number=rnd(1,33);
               if(findSame(arr,number)){
                    arr[arr.length]=toDou(number);
               }
           }
            arr[arr.length]=toDou(rnd(1,16));
            for(var i=0;i<arr.length;i++){
                var Class=i==arr.length-1?'blue':'';
                oBox.innerHTML+='<span class="'+Class+'">'+arr[i]+'</span>';
           };
      }
}
6. 延时提示框
    (1) 移除延时隐藏----移入下面的div后,还是隐藏了
    (2) 简化代码----把长得像的变成长得一样的。合并两个相同的mouseover和mouseout。连等。
三、随机数
1. Math:处理数学任务
 0    <=   Math.random()   <1
0     <=   Math.random()*100  <100
2. 公式:求n-m(不会出现m)        Math.random()*(m-n)+n
              求n-m(出现m)               Math.random()*(m-n+1)+n
              Math.random()*(大-小)+小
例一:随机数
window.onload=function(){
    for(var i=0;i<100;i++){
       //0-1      document.write(Math.random()+'<br />');
      //0-100   document.write(Math.random()*100+'<br />');
     //10-30   document.write(Math.random()*20+10+'<br />');
     //5-20包括20  document.write(Math.random()*(20-5+1)+5+'<br />');
    }
}
例二:随机颜色
window.onload=function(){
    var oBox=document.getElementById('box');
    oBox.onclick=function(){
        var r=rnd(0,255); 
        var g=rnd(0,255); 
        var b=rnd(0,255); 
        this.style.background='rgb('+r+','+g+','+b+')';
    }
function rnd(n,m){
    return parseInt(Math.random()*(m-n)+n);
}
例三:彩票
function rnd(n,m){
    return parseInt(n+Math.random()*(m-n));
}
var arr=[];
var num;
while(arr.length<6){
    num=rnd(1,33);
    if(findInArr(n,m){
        arr.push(num);
    }
}
alert(arr);
function findInArr(arr,n){
    for(var i=0;i<arr.length;i++){
        if(arr[i]==n){
            return false;
        }
    }
    return true;
}
四、自动播放的幻灯片
var oBox=document.getElementById('box');
var aBtn=oBox.getElementsByTagName('input');
var aDiv=oBox.getElementsByTagName('div');
for(var i=0;i<aBtn.length;i++){
     aBtn[i].index=i;
     aBtn[i].onclick=function(){
          for(var i=0;i<aBtn.length;i++){
               aBtn[i].className='';
               aDiv[i].className='';
          }
          this.className='active';
          aDiv[this.index].className='show';
     }
     if(aBtn[i].className=='active') iNow=i; 
}
function f(){
    iNow++;
    if(iNow==aBtn.length)iNow=0;
    for(var i=0;i<aBtn.length;i++){
        aBtn[i].className='';
        aDiv[i].className='';
    }
    aBtn[iNow].className='active';
    aDiv[iNow].className='show';
}
var timer=setInterval(f,1000);
oBox.onmouseover=function(){
    clearInterval(timer);
}
oBox.onmouseout=function(){
    timer=setInterval(f,1000);
}
分享到:
评论

相关推荐

    VC++课程设计:用生成的随机数画统计图(折线,柱形,条形,饼图)

    VC++课程设计:用生成的随机数画统计图(折线,柱形,条形,饼图),内含详细的设计过程及实验报告,经测试能运行,建议还是自己动手做做,不要说没有时间,其实只要你自己动手做出一个,你就会发现它并不难,不懂得记得baidu

    matlab数理统计数据分析:26 数理统计随机数的产生(含教学视频).zip

    1. **基本随机数生成**:MATLAB的`rand`函数可以生成[0,1)之间的均匀分布随机数,例如`rand(3,4)`会生成一个3行4列的随机数矩阵。通过调整范围,我们可以得到任何区间内的均匀分布随机数。 2. **正态分布随机数**:...

    matlab数理统计和数据分析及优化求解:matlab数理统计随机数的产生.zip

    MATLAB提供了一系列强大的函数来生成各种类型的随机数,这些随机数可以用于模拟实验、构建统计模型或者进行优化求解。下面将详细讨论MATLAB中关于数理统计随机数生成的相关知识点。 首先,MATLAB中的`rand`函数是最...

    matlab中使用rand函数产生随机数

    ### MATLAB中使用`rand`函数产生随机数 #### 一、`rand`函数的基本概念 在MATLAB中,`rand`函数被广泛用于生成伪随机数。这些随机数实际上是通过特定算法产生的,具有一定的可预测性和周期性。尽管如此,在大多数...

    matlab函数大全完整版.doc

    MATLAB 函数大全是 MATLAB 的一个全面且详细的函数手册,包含了 MATLAB 中的绝大多数函数,包括基本数学函数、三角函数、矩阵操作函数、随机数生成函数等。 一、MATLAB 基本数学函数 MATLAB 的基本数学函数包括: ...

    信息学奥赛一本通1184:明明的随机数

    信息学奥赛一本通1184:明明的随机数

    js随机数js随机数js随机数js随机数js随机数

    js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数js随机数...

    c++随机数产生函数

    如果没有设置随机数种子,rand()函数将自动设置随机数种子为1。rand()函数产生的随机数是假随机数字,每次执行时是相同的。若要生成不同的随机数,需要使用不同的值来初始化它。 srand()函数 srand()函数用来设置...

    matlab统计函数分享.pdf

    这些函数可以分为四大类:概率密度函数、累加分布函数、累加分布函数的逆函数和随机数生成器函数。 概率密度函数 概率密度函数(Probability Density Function,PDF)是指描述连续随机变量的概率分布的函数。...

    c51随机数的产生,开一个计数器,自动装入初值的模式

    ### C51随机数生成与计数器自动装入初值模式详解 #### 一、引言 在嵌入式系统开发中,随机数生成是一个非常实用的功能,尤其是在需要模拟不确定性或实现加密算法等场景下。本文将详细介绍如何在C51环境中利用...

    利用随机函数,产生随机数。隔N输出数。

    利用随机函数,产生随机数。隔N输出数。 利用随机函数,产生随机数。隔N输出数。

    matlab指令速查大全.pdf

    MATLAB基本函数速查大全 MATLAB是一种高性能的数学计算软件,广泛应用于科学计算、数据分析、算法开发等领域。下面是MATLAB中一些基本函数的速查大全: 数组操作函数: * ndims(A):返回数组A的维数 * size(A):...

    MATLAB函数速查手册 MATLAB函数对照表 Matlab函数参考手册 共42页.pdf

    MATLAB 函数速查手册 MATLAB 是一种高级编程语言和开发环境,主要应用于数学计算、数据分析、算法开发、应用程序开发等领域。MATLAB 提供了大量的内置函数,来帮助用户快速实现各种计算任务。下面是 MATLAB 函数速...

    MATLAB函数总结[参照].pdf

    MATLAB 函数总结收录了 MATLAB 中一些基本的数学函数、矩阵操作函数、随机数生成函数、统计分析函数等。 一、 MATLAB 中的矩阵操作函数 * ndims(A):返回矩阵 A 的维数 * size(A):返回矩阵 A 的大小 * length(A)...

    C语言产生随机数C语言产生随机数.doc

    * 如果未设置随机数种子,rand() 函数将自动设置种子为 1。 srand() 函数的使用: * srand() 函数用于设置随机数的种子值。 * srand() 函数的参数是一个 unsigned int 类型的值,范围在 0 到 65535 之间。 * 在...

    完整word版matlab函数大全最完整版.docx

    下面是 MATLAB 函数大全,涵盖了基本数学函数、三角函数、向量函数和随机数生成函数等。 一、基本数学函数 1. abs(x):纯量的绝对值或向量的长度 2. angle(z):复数 z 的相角(Phase angle) 3. sqrt(x):开平方 4...

    A.4.3 定时器和随机数(WPF).zip

    在Windows Presentation Foundation (WPF)中,定时器和随机数是两种重要的编程工具,它们在创建动态、交互式用户界面时发挥着关键作用。本文将深入探讨这两种技术及其在WPF应用程序中的应用。 首先,我们来了解...

    python猜数字游戏-08-函数返回值的应用.ev4.rar

    在这个“python猜数字游戏-08-函数返回值的应用”中,我们将深入探讨如何利用函数的返回值来增强程序的可读性和模块化。函数是Python中的一个重要组成部分,它们可以封装代码并使其可重用,同时通过返回值传递计算...

Global site tag (gtag.js) - Google Analytics