珠峰培训

函数数据类型详解

作者:fandonglai

2016-07-24 22:22:57

372

function函数数据类型

创建函数,关键字为function
执行函数,函数名后带小括号
创建一个函数时,首先开辟一段内存空间,浏览器为其分配一个16进制的地址;把函数中的代码以字符串的形式存储到空间内;再把当前的地址赋值给函数名
函数执行步骤:
函数执行时,会为js代码提供一个私有作用域;把字符串变为js代码,并从上至下执行
私有作用域保护了里面的变量不受外界干扰,这种形成的保护机制叫闭包

1 函数的返回值

由于闭包的机制导致了在函数体外面无法获取里面变量的值,所以需要关键字return为函数提供出口
return 并不是把变量返回给外边,而是把变量的值返回到外边
若没有写return则默认返回结果为undefined;若只写return而没写变量,则为undefined
函数在return 之后,后面的语句不再执行

2 函数的参数集合

arguments为函数接收参数的集合,但是它不是数组,而是一个类数组
arguments的数据类型为对象;以数字作为索引,0开始;有length属性;
函数的形参作用:用来实现一个功能,把需要的变量定义到形参上,在执行时提供
根据参数的不同,函数可以实现一个功能的多种形态
若定义了形参而执行时未赋值,则为undefined
arguments.callee代表当前执行函数的本身,它在哪一个函数中运行,就代表哪个函数

3 匿名函数方式

  1. 自执行函数,定义和执行一起完成
    ;(function(num){
    //定义部分 
    })(100);  //执行部分 
    ~function(){}();
    !function(){}();
    +function(){}();
    -function(){}();
  2. 函数表达式
    var a = function(){}