在Javascript定义一个函数一般有如下三种方式:
- 函数关键字(function)语句:
function fnMethodName(x){alert(x);}
- 函数字面量(Function Literals):
var fnMethodName = function(x){alert(x);}
- Function()构造函数:
var fnMethodName = new Function('x','alert(x);')
内嵌函数示例:
<script>
function outerFn(firNum) 

{
var firNum=firNum;
firNum+=firNum;
function innerFn(secNum) 
{
firNum+=secNum;
return firNum;
}
return innerFn;
}
function test() 

{
var inNum = prompt('请输入一个数字',0);
while(isNaN(inNum)) 

{
inNum = prompt('请输入一个数字',0);
}
var outerRet = outerFn(parseInt(inNum));//call outer function
var lastRet = outerRet(parseInt(inNum));//call inner function
var userRet = prompt('请输入你认为正确的结果数字',0);
if(userRet==lastRet) 

{alert('恭喜你答对,你已经了解内嵌函数。');}
else 

{
alert('很遗憾,你答错,正确答案是:'+lastRet+',建议你了解内嵌函数。')
}
}
</script> //答案为30 闭包的概念: var tempFunction = (function(){ var **=**;//私有 var ××= function(){}//私有 return ( function(a,b,c) {//此处可以访问私有变量}) })(); 访问时使用:tempFunction(a,b,c)等同于调用function(a,b,c);