转载请标明出处!
 
 
 
 
          在火影的世界中存在忍术,忍术是把强大的能量集中在一起以各种各样不同的形式发射出来。怎样使用各种各样的忍术那?通过结印。
 
 
 
好,我们提取一些火影忍者中的关键信息。
 
1.火影忍者的故事背景有忍术存在,忍术什么样是由忍术先祖发明出来的。
 
2.忍术是同过结印触发的。结印几次就触发几次;(查克拉足够的情况下)
 
          通过这个背景我们想象一下,在JavaScript这个故事中,有一种类似忍术的东西,这种东西叫做函数,忍术先祖可以创造各种各样的忍术,同样我们也可以创造各种各样不同的函数,忍术需要结印才能触发,同样的函数需要调用才能触发。
 
 
 
函数
 
将代码编写在函数中,就可以避免在非必要情况下调用该代码,也就是说我们可以让一段代码在特定情况下再去执行。
 
function 关键字:该关键字表示要声明一个函数。
 
如何执行函数()
 
function m1(){
 
    //xxxxxxxxxxxxx
 
}
 
for(var i=0;i<10;i++){
    m1();
}
 
刚才提到,函数的意义就是在特定情况下运行函数,那么什么是特定的情况那?
 
JavaScript是事件驱动的语言!
 
事件:用户的行为。
 
onclick、ondblclick、onfocus、onblur
 
 
函数的参数
 
function m1(v1, v2, v3...){
    //xxxxxxxxxxxxx
}
 
 
return关键字
 
带返回值的函数
 
案例:
 
年月日分别为自定义函数的参数,判断是否为正确的日期
 
 
作业:
 
三个输入框分别输入,年、月、日, 判断,年月日是否正确。
 
 
参数可以传递多个,与函数的定义无关
 
function fn(e,b){
 
}
 
fn ("a","b","c");
 
案例:要实现一个加法运算,将所有传进来的数字累加。
 
作用域的问题
 
作用域的生命周期。
 
var a = 10;
 
function m1(){ 
    var a = 5;
    alert(a);
}
 
 
递归的用法
 
什么是递归?
 
自身调用自身!
 
function pr(){
 
    return pr()
 
}
 
关键点:
 
1.终止条件
 
2.运算规则
 
function pr(n){
      
     if(n==1){  // 终止条件
          return n;
     }
 
     return pr(n-1)+n;    
 
}
 
打印任意个hello world;
 
function pr(n){
 
    if(n==0){
        return
    }
 
    document.write('hello world!!<br>');
 
    return pr(n-1);
 
}
 
pr(10)
 
     
 
 
 
输出斐波那契额数列数列的前20项(递归)
 
 function fib(n){
 
            if(n==1||n==2){
 
                return 1
 
            }
 
            return fib(n-1)+fib(n-2)
 
        }
 
 for(var i = 1 ; i <= 20; i++){
 
            document.write(fib(i)+'<br>')
 
   }

javascript系列-class4.函数的更多相关文章

  1. JavaScript系列:函数 自执行 表达式 声明 定义

    可用方式 (function($) {})(jQuery); !function( $ ){}(jQuery); +function( $ ){}(jQuery); -function( $ ){}( ...

  2. 深入理解javascript系列(4):立即调用的函数表达式

    本文来自汤姆大叔 前言 大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行. 在详细了解这个之前,我们来谈了解一下“自执行”这个叫法,本文对这个功能的叫法 ...

  3. [JS]深入理解JavaScript系列(4):立即调用的函数表达式

    转自:汤姆大叔的博客 前言 大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行.在详细了解这个之前,我们来谈了解一下"自执行"这个叫法 ...

  4. JavaScript进阶系列04,函数参数个数不确定情况下的解决方案

    本篇主要体验函数参数个数不确定情况下的一个解决方案.先来看一段使用函数作为参数进行计算的实例. var calculate = function(x, y, fn) { return fn(x, y) ...

  5. JavaScript进阶系列02,函数作为参数以及在数组中的应用

    有时候,把函数作为参数可以让代码更简洁. var calculator = { calculate: function(x, y, fn) { return fn(x, y); } }; var su ...

  6. JavaScript进阶系列01,函数的声明,函数参数,函数闭包

    本篇主要体验JavaScript函数的声明.函数参数以及函数闭包. □ 函数的声明 ※ 声明全局函数 通常这样声明函数: function doSth() { alert("可以在任何时候调 ...

  7. 深入理解JavaScript系列(15):函数(Functions)

    介绍 本章节我们要着重介绍的是一个非常常见的ECMAScript对象——函数(function),我们将详细讲解一下各种类型的函数是如何影响上下文的变量对象以及每个函数的作用域链都包含什么,以及回答诸 ...

  8. 深入理解JavaScript系列(2):揭秘命名函数表达式

    前言 网上还没用发现有人对命名函数表达式进去重复深入的讨论,正因为如此,网上出现了各种各样的误解,本文将从原理和实践两个方面来探讨JavaScript关于命名函数表达式的优缺点. 简单的说,命名函数表 ...

  9. JavaScript系列之回调函数callback

    JavaScript系列之回调函数callback JavaScript回调函数的使用是很常见的,引用官方回调函数的定义: A callback is a function that is passe ...

随机推荐

  1. c/s winform打包和部署

    1:vs2010新建  安装项目  左边出现3个文件夹 2:点击 第一个文件夹-> “应用程序文件夹”    将 bin 目录下的所以文件  拖进 右边的空白处:c:\windows\syste ...

  2. 移动端 AnyProxy HTTPS 配置

    参考:AnyProxy HTTPS相关教程 参考教程中,说明了 Windows 和 Mac 系统的配置,这里补充一下移动端(Android.iOS)的配置 生成RootCA > 下载 rootC ...

  3. runloop源代码

    https://github.com/zzf073/runloopDemo /** *  调度例程 *  当将输入源安装到run loop后,调用这个协调调度例程,将源注册到客户端(可以理解为其他线程 ...

  4. JS怎样计算过关分数

    一个游戏,前20关是每一关自身的分数,//21-30关每一关是10分//31-40关,每一关是20分//41-49关,每一关是30分//50关,是100分 <!DOCTYPE html> ...

  5. 在Windows环境下使用短信猫收发短信的简单配置:

    Windows简单配置: 1.插入usb接口,打开电脑的设备管理器,装驱动后,查看端口下设备的com(串口)是多少,接下来就是配置短信猫的必须参数: 如果短信猫是COM(串口)口的,一般端口是COM1 ...

  6. laravel save() 返回 null

    原因:引用其他方法时,没有 return save()的操作结果. 在使用save()方法时,发现返回值是:null:

  7. phpstorm中,光标变成一个长方红色块,如何调回来?

    今天使用phpstorm,不知道碰到了什么,光标变成长方红色块(如图),搞半天终于调回来了,变回了细细的竖线,记录一下: 其实按一下insert键就可以了

  8. HDU 4458 Shoot the Airplane( 判断点在多边形内外 )

    链接:传送门 题意:这个游戏是一个2D打飞机游戏,飞机以速度 v 水平飞行,它是一个简单的多边形,玩家从( 0 , 0 )向上射击,子弹有一个出速度 b ,子弹可以看作一个点,打中飞机边缘是无法击落飞 ...

  9. Android开发进度01

    1,今日:目标:完成eclipse中Android sdk和ADT的创建,下载tools工具,创建Android虚拟机 2,昨天:无 3,收获:Android sdk manager需要下载的东西:学 ...

  10. 基于Linux的v4l2视频架构驱动编写

    其实,我刚开始一直都不知道怎么写驱动,什么都不懂的,只知道我需要在做项目的过程中学习,所以,我就自己找了一个关于编写Linux下的视频采集监控项目做,然后上学期刚开学的时候听师兄说,跟院长做项目,没做 ...