Kevin带你飞(4): JavaScript-函数
在页面上输出自己的信息,比如姓名、年龄、家乡。
document.write('我是Kevin,24岁,家住陕西西安');
那我们如何输入你朋友同事的所有的信息呢?
而我们需要一台“打印机”
需要打印信息的时候就去使用这个功能
功能:函数
1.函数的的概念
函数就是把完成特定功能的一段代码抽象出来,使之成为程序中的一个独立实体,起个名字(函数名)。可以在同一个程序或其他程序中多次重复使用(通过函数名调用)。
函数是一种带有可执行代码的对象类型数据。
特殊的对象、一个功能
2.函数的作用
-使程序变得更简短而清晰
-有利于程序维护
-可以提高程序开发的效率
-提高了代码的重用性(复用性)
3.函数的声明方法
//0、声明使用 function 关键字
//1、function 功能名(){//功能的内容}
function print(){
//需要打印的信息
}
//2、var 功能名= function(){//功能的内容}
var print = function(){
//需要打印的信息
}
4.如何运行函数
//定义一个打印功能
var print = function(){
//需要打印的信息
}
//使用打印功能
print(); //() 代表立即执行
5.函数的参数
5-1、参数是什么?
函数(功能)里面需要用到的变量(不是自身定义的) 调用者给功能设定的值
5-2、怎么定义参数
function add(num1,num2){
}
//num1 num2 为定义的参数(形参)
5-3、怎么传参数?
add(3,4); //3 4 为传入的参数 (实参)
参数的那些事:
1、参数的传入个数可以与定义的个数不一致(参数的传入与定义无关)
2、怎么获取传入的所有参数?
6.arguments
函数内部自带的,形式和数组类似
存储的是所有的实参(调用功能传入的参数)和函数(功能)自身定义的形参无关
最常用的用途:
获取传入参数的个数(就是判断有没有传入参数)
7.函数的返回值-return
什么是return?
-一个功能的返回值
-如果函数没有写return,默认返回undefined
return有什么用?
1、返回运算的结果
2、中断执行
8.var 和 function 优先级
1、使用var 和 function 定义的内容会被提前到程序的最上方。
2、对于使用var声明和使用function声明的相同变量,无论var写的位置在不在function的后面,都是先定义var。
3、系统查找变量时,会先在自己的栈空间内查找,如果未找到或者未赋值,就去自己的堆空间里找,如果还未找到,就逐层往上找自己的父级空间找。
9.作用域
作用域:就是起作用的范围。或者说有效范围。
局部变量:
局部变量就是定义在函数内部的变量,这个变量只能在函数内部使用,即作用域范围只是函数内部,另外,形参也是局部变量。
全局变量
全局变量就是定义在函数外部的变量,这个变量在任何函数中都有效,即作用域范围是当前文件的任何地方。
注意:
定义变量时省略var是不安全的,不过是合法的,不写var的时候会被解释是全局变量
10.递归
1、什么是递归?
所谓的递归函数就是在函数体内调用本函数。
自己调用自己;
2、怎么理解递归?
它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算;
3、递归里面只会存在递归条件和递归出口;
4、一般从最后的结果入手,比如求10!,10!= 109!,9!= 9 8!。。。,1!=1,当求1!的时候返回1,其他时候返回n*F(n-1);
经典递归案例
斐波那契数列
F(x) = F(x-1) + F(x-2); x>=2
1 1 2 3 5 8 13 21...
第9项: 13+21 = 34
第10项: 21+34 = 55
function F(n){
//递归出口
if(n == 1 n==2){
return 1;
}
return F(n-1)+F(n-2);
}
var result = F(14);
共同学习,写下你的评论
评论加载中...
作者其他优质文章