javascript之嵌套函数使用方法
作者:bea
在javascript中允许使用嵌套函数: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>嵌套函数</title> <script type="text/javascript"> function fun1(){ function fun2(){ var a=50;
在javascript中允许使用嵌套函数:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>嵌套函数</title>
<script type="text/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();
}
</script>
</head>
<body>
<div id="main">
<script type="text/javascript">
document.write("函数的返回值为:"+fun1());
</script>
</div>
</body>
</html>
[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);
}
}
如例三,只要我们在嵌套函数中确定了二个把柄,放在哪里没关系都可以实现函数的嵌套,显然这样写没有例一那么好,是这样的。
有用 | 无用
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>嵌套函数</title>
<script type="text/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();
}
</script>
</head>
<body>
<div id="main">
<script type="text/javascript">
document.write("函数的返回值为:"+fun1());
</script>
</div>
</body>
</html>
[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);
}
}
如例三,只要我们在嵌套函数中确定了二个把柄,放在哪里没关系都可以实现函数的嵌套,显然这样写没有例一那么好,是这样的。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- js 翻转颜色实现代码
- javascript json2 使用方法
- jQuery 选择器理解
- jQuery 学习入门篇附实例代码
- Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
- Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
- javascript 二维数组的实现与应用
- JavaScript 中文转拼音实现代码 有些bug
- Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
- jQuery MD5加密实现代码
- javascript将ip地址第四段用星号代替的两种方法
- javascript和jquery分别实现的九九乘法表代码
- [原创]js获取数组任意个不重复的随机数组元素
- javascript 用记忆函数快速计算递归函数
- JS 密码强度验证(兼容IE,火狐,谷歌)
- javascript css styleFloat和cssFloat
- javascript 正则表达式触发函数进行高级替换
- javascript 嵌套的函数(作用域链)
- JavaScript 嵌套函数指向this对象错误的解决方法