高程7-函数 表达式

Posted 追忆枉然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高程7-函数 表达式相关的知识,希望对你有一定的参考价值。

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-函数 表达式的主要内容,如果未能解决你的问题,请参考以下文章

替换片段的高程值错误

从片段着色器中的地形高程数据计算法线

JS高程3.基本概念函数

用MATLAB绘制三维地形高程图

在 Windows 7 上创建高程 COM 对象失败

JS执行顺序-函数声明提升匿名函数函数表达式