javascript之嵌套函数使用方法
在javascript中允许使用嵌套函数:
嵌套函数
function fun1(){
function fun2(){
var a=50;
var b=a+5;
return a+b;
}
var a=900;
var b=Math.sqrt(a);
return b+fun2();
}
document.write("函数的返回值为:"+fun1());
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
记住这名话:
嵌套实际是要实现一种循环,是循环就有双个把柄让我们抓:一个是终止条件,一个是增量。
嵌套函数和普通函数有一点不同:
既然是嵌套函数,就是把自身当作值运用到函数体内。这就要求函数必须有一个返回值。就要用return语句。
举例分析:
function a(x){
if(x<=1) return 1;
else return x*a(x-1);
}
例一是一个嵌套函数,让我们来找一下二个把柄:if(x<=1) return 1;这是终止条件,当x<=1时终止,else return x*a(x-1);这是增量,每次嵌套调用函数a()时参数都会减1。
所以这个例子也可以像例二中那样转换成一个循环体。
function a(x){
if(x<=1) return 1;
else{
var m=1;
for(var i=2;i<=x;i++){
m*=i;
}
return m;
}
}
如例二所示,嵌套函数就是要实现这样的循环。
function a(x){
if(x<=1) return 1;
else{
x--;
return (x+1)*a(x);
}
}
如例三,只要我们在嵌套函数中确定了二个把柄,放在哪里没关系都可以实现函数的嵌套,显然这样写没有例一那么好,是这样的。
相关推荐
-
javascript之嵌套函数使用方法
在javascript中允许使用嵌套函数: 嵌套函数 function fun1(){ function fun2(){ var a=50; var b=a+5; return a+b; } var a=900; var b=Math.sqrt(a); return b+fun2(); } document.write("函数的返回值为:"+fun1()); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 记住这名话: 嵌套实际是要实现一种循环,是循环就有双个把柄让我们抓:
-
javascript自定义in_array()函数实现方法
本文实例讲述了javascript自定义in_array()函数实现方法.分享给大家供大家参考.具体如下: function in_array( what, where ){ var a=false; for(var i=0;i<where.length;i++){ if(what == where[i]){ a=true; break; } } return a; } 希望本文所述对大家的javascript程序设计有所帮助.
-
javascript中声明函数的方法及调用函数的返回值
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <!--js中声明函数的方法--> <script type="text/javascript"> //因为javascript是弱类型的语言,所以参数不需要加类型.函数的也不需要像c#那样要求所以路径都需要有返回值(这个不像c#语言,而且c#的方法也不需要在方法
-
javascript中setAttribute()函数使用方法及兼容性
setAttribute()函数可以设置对象的属性,如果不存在此属性,则会创建此属性. 语法结构: el.setAttribute(name,value) 参数列表: 参数 描述 name 必需.规定要设置的属性名. value 必需.规定要设置的属性值. 代码实例: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <script type="text/javas
-
javascript(js) join函数使用方法介绍
数组对象本身提供了许多方法用于对象本身的操作,join是其中一个方法. 格式: objArray.join(seperator) 用途: 以seperator指定的字符作为分隔符,将数组转换为字符串,当seperator为逗号时,其作用和toString()相同. 例子: 比如我们有个字符串"a","b","c"我们要输出为a,b,c这样的格式,那么我们可以这样: var a = ["a","
-
JavaScript中的函数嵌套使用
在JavaScript1.2之前,函数定义是只允许在顶层全局代码,但1.2的JavaScript可以嵌套函数定义其他函数中也是可以的. 仍然存在的函数定义可以循环或条件之内不会出现限制.在函数定义这些限制只适用于函数声明与函数语句. 函数文本(在JavaScript1.2引入的另一个功能)可能出现在任何JavaScript表达式,这意味着它们可以出现在if else语句内. 示例: 下面就是我们两个嵌套函数的例子.这可能会有点混乱,但它的工作原理完全正常: <script type="te
-
JavaScript 嵌套函数指向this对象错误的解决方法
先看一段嵌套了两层function的JavaScript代码: 复制代码 代码如下: var me = { name : 'Jimbor', blog : 'http://jmedia.cn/', sayMyName : function(){ var pre = 'My name is: '; function displayName(){ alert(pre + this.name); } displayName(); } } me.sayMyName(); 从代码上看,我们希望通过sayM
-
浅谈Javascript嵌套函数及闭包
[嵌套函数] JavaScript允许嵌入的函数,允许函数用作数据,并且在函数词法作用域下面,可以产生与传统面向对象语言不同的惊人地方. 首先,JavaScript的函数是通过词法来划分作用域的,而不是动态的划分作用域的,于是,函数的是在定义它们的作用域中运行,而不是在执行它们的作用域中运行,所以,当嵌套函数和它的外围函数定义在同一个词法作用域中的时候,是很容易理解的.比如下面很平淡无奇的代码: 复制代码 代码如下: var x = 'global'; function f () { var x
-
javascript 使用sleep函数的常见方法详解
本文实例讲述了javascript 使用sleep函数的常见方法.分享给大家供大家参考,具体如下: 一.什么是sleep函数? 花一点时间来聊一下sleep函数,首先什么是sleep函数? sleep是一种函数,他的作用是使程序暂停指定的时间,起到延时的效果. 例如: console.log('1'); sleep(5000); console.log('2'); 控制台输出数字1后会间隔5秒后输出数字2 当然上面的代码是不能执行的,因为js中是没有sleep方法的. 所以这一篇文章主要介绍几种
-
javascript带回调函数的异步脚本载入方法实例分析
本文实例讲述了javascript带回调函数的异步脚本载入方法.分享给大家供大家参考.具体实现方法如下: var Loader = function () { } Loader.prototype = { require: function (scripts, callback) { this.loadCount = 0; this.totalRequired = scripts.length; this.callback = callback; for (var i = 0; i < scri
随机推荐
- PHP多例模式介绍
- JSP利用过滤器解决request中文乱码问题
- javascript 模式设计之工厂模式学习心得
- iOS实现屏幕亮度和闪光灯控制的实例代码
- Java中jqGrid 学习笔记整理——进阶篇(二)
- java中读取配置文件中数据的具体方法
- javascript 词法作用域和闭包分析说明
- PHP面向对象之旅:深入理解static变量与方法
- Python脚本实现Web漏洞扫描工具
- 六、访问CGI变量
- C# 调用C++写的dll的实现方法
- php中mysql模块部分功能的简单封装
- Android实现动态圆环的图片头像控件
- jquery自定义类似$.ajax()的方法实现代码
- JQuery for与each性能比较分析
- jquery $("#variable") 循环改变variable的值示例
- Android编程单击图片实现切换效果的方法
- php 保留小数点
- 完美清除局域网中ARP病毒的软件
- Android实现疯狂连连看游戏之状态数据模型(三)