转载请标明出处!
 
 
 
 
          在火影的世界中存在忍术,忍术是把强大的能量集中在一起以各种各样不同的形式发射出来。怎样使用各种各样的忍术那?通过结印。
 
 
 
好,我们提取一些火影忍者中的关键信息。
 
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. hdoj--1276--士兵队列训练问题(数组模拟)

    士兵队列训练问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  2. Oracle Hint的用法

    1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_I ...

  3. 2017-3-6 leetcode 118 169 189

    今天什么都没发生 ================================================= leetcode118 https://leetcode.com/problems ...

  4. maven的pom.xml配置标签

    转自:https://blog.csdn.net/wf787283810/article/details/76188595 <project xmlns="http://maven.a ...

  5. Oracle 查看锁定表用户的SQL

    #描述:当执行如下SQL select * From XXX for Updata 发现表“XXX”被锁定 #只需要执行如下SQL 查看锁定该表的用户 SELECT object_name, mach ...

  6. LigerUI 单独调用插件使用注意项

    LigerUI 再某些情况下只需要使用部分功能,并不需要调用 ligerui.all.js . 比喻: 我现在只想用ligerGrid功能 只需要调用 <link href="lige ...

  7. Spring学习笔记(一) 简介

    版权声明 本文是摘自IBM上Naveen Balani的一篇文章,原文请点击此处:http://www.ibm.com/developerworks/cn/java/wa-spring1/ Sprin ...

  8. 学习篇之SVG

    学习篇之SVG 一.use重用 与 g组合 xmlns变量实际上指示浏览器如何解释称为SVG的XML方言 <g></g> 组合 <use /> 重用 <ell ...

  9. hdu 5375 Gray code 【 dp 】

    dp[i][j]表示第i位取j的时候取得的最大的分数 然后分s[i]是不是问号,s[i-1]是不是问号这大的四种情况讨论 #include<cstdio> #include<cstr ...

  10. 前端dom操作竟然使得http请求的时间延长了

    最近在项目中遇到了一个奇怪的问题:在google浏览器的调试窗口network下看到一个请求的时间一直是2s多,但是当我把这个请求单独拿出来执行的时候发现根本用不了2s,100多毫秒就完成了.最后再不 ...