首页登陆欢迎您!
首页登陆 > 运维知识 > JavaScript中的函数嵌套使用_根基知识_脚本之家

JavaScript中的函数嵌套使用_根基知识_脚本之家

时间:2019-12-06

在JavaScript1.2之前,函数定义是只允许在顶层全局代码,但1.2的JavaScript可以嵌套函数定义其他函数中也是可以的。

JavaScript中的函数嵌套使用

   这篇文章主要介绍了JavaScript中的函数嵌套使用,是JavaScript入门学习中的基础知识,需要的朋友可以参考下

  在JavaScript1.2之前,函数定义是只允许在顶层全局代码,但1.2的JavaScript可以嵌套函数定义其他函数中也是可以的。

  仍然存在的函数定义可以循环或条件之内不会出现限制。在函数定义这些限制只适用于函数声明与函数语句。

  函数文本(在JavaScript1.2引入的另一个功能)可能出现在任何JavaScript表达式,这意味着它们可以出现在if else语句内。

  示例:

  下面就是我们两个嵌套函数的例子。这可能会有点混乱,但它的工作原理完全正常:

  ?

1

2

3

4

5

6

7

8

9

<script type="text/javascript">

<!--

function hypotenuse(a, b) {

function square(x) { return x*x; }

 

return Math.sqrt(square(a) + square(b));

}

//-->

</script>

  注:在这里,我们使用的是从数学类函数sqrt。

  现在,可以调用通常的方式调用这一函数如下:

  ?

1

2

3

4

5

<script type="text/javascript">

<!--

hypotenuse(1, 2); // This will produce 2.2360

//-->

</script>

这篇文章主要介绍了JavaScript中的函数嵌套使用,是JavaScript入门学习中的基础知识,需要的朋友可以参考下 在JavaS...

  1. 函数的定义和调用 在JavaScript中,定义函数最常用的方法就是调用function语句。该语句是由function关键字构成的,它后面紧跟的是: Ø 函数名 Ø 一个用括号的参数列表,参数是可选的,参数是用逗号分隔开 Ø 包括在大括号中的函数体 使用函数需要注意的几个地方: Ø 在函数体中如果有return语句,它返回一个值;如果没有的话,它返回undefined Ø JavaScript不会检测函数参数个数是否正确,如果传递实参多于形参,多余的实参将没忽略;如果少于的话,那么没有被传递参数的形参被赋于undefined,在这种情况一般程序运行将出错

仍然存在的函数定义可以循环或条件之内不会出现限制。在函数定义这些限制只适用于函数声明与函数语句。

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 运行结果: ddxkj undefined aaa ccc aaa ccc aaa undefined 1.1. 嵌套的函数 JavaScript 1.2和ECMAScript v3允许一个函数定义可以出现在另个函数中,也就是函数的嵌套。需要注意的是,ECMAScript v3不允许函数定义任意出现,它们仍然被限制在顶层全局代码和顶层函数代码中,这意味着函数定义不能出现在循环和条件语句中。例如:

函数文本(在JavaScript1.2引入的另一个功能)可能出现在任何JavaScript表达式,这意味着它们可以出现在if else语句内。示例:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 运行结果: 10000 1.2. Function()构造函数 在ECMAScript v1和JavaScript 1.1中,允许使用Function()和new动态定义一个函数。例如:var f = new Function("x", "y", "return x*y;"); 该行代码几乎等价于:function f{return x*y;} Function()构造函数可以接受任意多个字符串参数,最后一个参数就是函数体,可以包含任何JavsScrpt语句,每行语句之间使用;隔开。如果说函数没有参数,只需一个函数体的字符串就可以了。 有时时Function()构造函数也被称为匿名函数,是没有定义了函数名。 Function()构造函数的用途: Ø 动态创建和编译一个函数。每调用一次函数,Function()构造函数都要编译一次函数,这也就成了一个缺点。因此,在循环或经常被调用的函数中,一般不使用Function()构造函数。 Ø 将函数定义为JavaScript的表达式,而不是语句。不过在JavaScript中,如果想在表达式中定义一个函数,而不是在语句,使用函数直接量会更方便。 1.3. 函数直接量 函数直接量的语法和function语句非常相似,只不过它被用作表达式,而不是语句,而且可以不指定函数名。和function语句、Function()构造函数一样,函数直接量也是创建函数的方式之一。如: Ø function f{return x*x;} //function语句 Ø var f = new Funtion; //Function()构造函数 Ø var f = function{return x*x;}; 虽然函数直接量创建的是未命名函数,但也可以指定函数名,这在编写调用 自身递归函数非常有用。如: var f = function fact return 1; else return x*fact; }; 上面代码定义了一个未命名函数,并把它的引用存储在f中。它并没有创建fact()这个函数,只是允许函数体用这个名称没调用自身。 函数直接量可以像变量一样,被赋值、被传递给函数,甚至直接调用。例如:

上一篇:JavaScipt中Function()函数的使用教程 下一篇:没有了