ReactNative入门学习笔记——ECMAScrip函数

一.函数

函数是由这样的方式进行声明的:关键字 function、函数名、一组参数,以及置于括号中的待执行代码。

函数的基本语法:

function  name  ( arg0 , arg1 , ... , argN ) {

statement

}

二.arguments对象

在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们。

例如:arguments [ 0 ],代表函数中第一个参数。

属性 arguments.length 可以检测函数的参数个数。

函数重载:

function  do ( )  {

if ( arguments.length  == 1 )  {

alert ( arguments [ 0 ]  +  1 ) ;

}

else  if ( arguments.length  == 2 )  {

alert ( arguments [ 0 ]  +  10) ;

}

}

do ( 5 ) ;         // 输出6

do ( 6 , 8) ;     // 输出16

三.Function 对象(类)

Function 类可以表示开发者定义的任何函数。

用 Function 类直接创建函数的语法如下:

var function_name  =  new function ( arg1arg2,  ... , argN ,function_body )

在上面的形式中,每个arg都是一个参数,最后一个参数是函数主体(要执行的代码)。这些参数必须是字符串。

四.闭包

闭包,指的是词法表示包括不被计算的变量的函数,也就是说,函数可以使用函数之外定义的变量。

例如:

var iBaseNum = 10;

function addNum(iNum1, iNum2) {

     function doAdd() {

          return iNum1 + iNum2 + iBaseNum;

     }

     return doAdd();

}

这里,函数 addNum() 包括函数 doAdd() (闭包)。内部函数是一个闭包,因为它将获取外部函数的参数 iNum1 和 iNum2 以及全局变量 iBaseNum 的值。 addNum() 的最后一步调用了 doAdd(),把两个参数和全局变量相加,并返回它们的和。

这里要掌握的重要概念是,doAdd() 函数根本不接受参数,它使用的值是从执行环境中获取的。

可以看到,闭包是 ECMAScript 中非常强大多用的一部分,可用于执行复杂的计算。

提示:就像使用任何高级函数一样,使用闭包要小心,因为它们可能会变得非常复杂。

你可能感兴趣的:(ReactNative入门学习笔记——ECMAScrip函数)