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
随机推荐
- jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
- 纯脚本备份_还原驱动增强版附相关sleep.exe
- 显示网络配置的批处理文件
- R vs. Python 数据分析中谁与争锋?
- ASP.NET 高性能分页代码
- 浅谈javascript中的Function和Arguments
- js实现的二级横向菜单条实例
- 扩展String功能方法
- JavaScript 以对象为索引的关联数组
- android中UI主线程与子线程深入分析
- php简单获取文件扩展名的方法
- python获取当前用户的主目录路径方法(推荐)
- 如何用Jsp读取Mysql数据库
- Android系统自带样式 (android:theme)
- javascript稀疏数组(sparse array)和密集数组用法分析
- 定时导出mysql本地数据替换远程数据库数据脚本分享
- 详解php中反射的应用
- (C和指针) #if 0/#if 1...#end if
- JS实现标签页效果(配合css)
- 基于jQuery的弹出隐藏层的窗口特效