首页 > 其他 > 详细

高程7-函数 表达式

时间:2017-11-15 00:15:39      阅读:231      评论:0      收藏:0      [点我收藏+]

1.定义函数的两种方法:

1.函数声明
function functionName(arg0,arg1){
}
特点:函数预解析,代码执行的时候,可以先调用后执行,因为预解析;

a()

function a() {

console.log("s")

};



2.函数表达式
var functionName=function(arg0,arg1){
}
特点:创建的函数是匿名函数,函数名子是空字符串;与定义变量一样,

a()
var a=function (){
console.log("123");
}           // Uncaught TypeError: a is not a function at



不要在if代码体中定义函数

2. 递归

function factorial(num){
          if(num<=1){
            return 1;
        }else{
           return num*factorial(num-1)       //也可以换成 return num*argument.callee(num-1);
} }

这里argument.callee(num-1)指的是正在执行的函数,使用argument.callee代替函数名,可以确保无论怎么样调用的函数都不会出问题,因此,在编写递归函数时,使用argument.callee比函数名可靠;

严格模式:
var fac=(function f(num){
if (num<=1){
return
}else{
return num* f(num-1)
}
)
严格模式,不能通过脚本访问argument.callee,访问这个属性会导致错误,不过,可以使用命名函数表达式来、

3.闭包

 

高程7-函数 表达式

原文:http://www.cnblogs.com/liangfc/p/7835315.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!