转载请标明出处!
 
 
 
 
          在火影的世界中存在忍术,忍术是把强大的能量集中在一起以各种各样不同的形式发射出来。怎样使用各种各样的忍术那?通过结印。
 
 
 
好,我们提取一些火影忍者中的关键信息。
 
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. angularjs1-7,http,location

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  2. Ubuntu18.04修改Hostname

    1. 设置新的hostnamesudo hostnamectl set-hostname newNameHere 2. 修改配置文件使hostname可以保存编辑这个文件: /etc/cloud/cl ...

  3. IBM 总架构师:话说程序员的职业生涯

    作者:IBM 软件集团大中华区总架构师 寇卫东 有一些年轻的程序员向我咨询,将来的路应该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功.到底选哪条路,取决于自己的兴趣.可能有程序员会问:如果还没 ...

  4. ZBrush软件特性之Stencil模板调控板

    在ZBrush中使用Stencil模板我们了解的所有绘图工具,通过它确定模板周围与涂画或模型的位置.本文将详解ZBrush®中如何使用“曲线板”自定义形状. 使用模版 ZBrush模版的作用象我们了解 ...

  5. day03 Python3的安装

    目录 Python的安装 Python下载 Python3安装 环境变量 添加环境变量 在CMD中运行Python Python的安装 Python可在多个操作系统(Windows,Linux,Mac ...

  6. 在HTTP页面输入数据,Chrome 70将显示红色不安全警告

    2018年10月17日,Chrome 70版本正式发布,该版本更新多项安全功能,再次升级对HTTP页面的不安全警告样式.当用户在HTTP页面输入数据时,Chrome 70将显示醒目的红色不安全警告,让 ...

  7. [置顶] 智能家居开源项目 The open Home Automation Bus (openHAB)

    ================================================================================ 2014-05-19 论文的事情太多, ...

  8. BZOJ 3262 陌上花开 (三维偏序CDQ+树状数组)

    题目大意: 题面传送门 三维偏序裸题 首先,把三元组关于$a_{i}$排序 然后开始$CDQ$分治,回溯后按$b_{i}$排序 现在要处理左侧对右侧的影响了,显然现在左侧三元组的$a_{i}$都小于等 ...

  9. [读书笔记] Python数据分析 (五) pandas入门

    pandas: 基于Numpy构建的数据分析库 pandas数据结构:Series, DataFrame Series: 带有数据标签的类一维数组对象(也可看成字典) values, index 缺失 ...

  10. S5PV210 三个Camera Interface/CAMIF/FIMC的区别

    S5PV210有三个CAMIF单元,分别为CAMIF0 CAMIF1和CAMIF2.对应着驱动中的fimc0, fimc1, fimc2.在三星datasheet和驱动代码中CAMIF和FIMC(Fu ...