函数基础

  1. 函数:是由事件驱动或者被调用时,可以重复使用的代码
    事件驱动:点击事件 鼠标移入事件 鼠标移出事件
    被调用:sum();-->函数执行
  2. 函数的语法(基本语法)
    定义:
    关键字 函数名(){函数(函数体/函数代码)}
    function fnName(){......}
    执行:
    函数名();
    fnName();
  3. 函数的特点:
  1. 函数定义独立存在时没有意义,只有被调用的时候,才会实现函数的功能
  2. 定义一个函数,可以多次被调用执行,并且每次调用执行都是独立的
  3. 函数内的变量,在函数外是获取不到的
    函数是引用数据类型 函数名中存的值是一个地址
  1. 闭包:函数在执行的时候,形成私有作用域,里面的变量就成为私有变量,外界获取不到,函数的这种保护机制,叫做闭包
  2. 函数的参数:可以让函数内获取函数外的值
    形参:用来接收外界传递给函数的值
    形参在函数定义部分 函数名后面的括号内
    实参:用来定义要传递的值
    实参在函数执行是 函数名后面的括号内
    基本语法:
    function 函数名(形参1,形参2...){}
    函数名(实参1,实参2...)
  1. 函数可以不定义参数(形参和实参都不存在)
  2. 函数如果定义形参而没有传递实参,那么形参获取到的是undefined
  3. 函数如果只定义实参,而没有定义形参的时候,函数用arguments来接收实参
  1. 函数默认接收参数的对象--arguments
    函数接收参数的方式有两种,第一种是人为定义形参,第二种是arguments
    arguments(参数集合)是一个对象
    获取到的值会以类数组的形式储存[1,2,3,4,5]
    类数组和数组一样,都有索引和长度,类数组中的每一个都是类数组的属性值,类数组的属性名为索引
  2. 外界如何获取到函数的返回值(是一个值,而不是返回变量)
    return 值;
  1. return 后面可以有返回值,也可以没有返回值
  2. 函数内出现return 函数内return后的代码就不会执行了

返回值会出现undefined有两种情况?

  1. 没有写return
  2. 写了return但没有赋值

是否要返回值?
“获取”需要返回值,“设置”不需要返回值;

重点:

  1. return 返回的是值,不是任何的变量
  2. 函数名() 是函数的执行结果
  3. 函数名相当于一个变量,是用来代表函数和储存函数的,函数名代表这个函数本身
  4. return后不返回值的时候,函数执行结果接收到的是undefined
//  任意数求和
function sum() {
    var total=null;
    for(var i=0;i<arguments.length;i++){
        var cur=Number(arguments[i]);
        if(!isNaN(cur)){
            total+=cur;
        }
    }
    return total;
}
var total=sum("1",2,4,"12bc");
console.log(total);
原文地址:https://www.cnblogs.com/Juphy/p/6959081.html