函数一 ----函数表达式

// 7.0函数表达式
// 本章内容
// 1.函数表达式的特征
// 2.使用函数实现递归
// 3.使用闭包定义私有变量
// 定义函数的方法有两种:一种是函数声明,一种是函数表达式。函数声明的语法如下:

function functionName(arg0,arg1,arg2){
// 函数体
}

// 首先是function关键字,然后是函数的名字,这就是指定函数名的方式,FF,Safari,Opera,Chrome
// 都给函数定义了一个非标准的name属性,通过这个属性可以访问到函数指定的名字。
// 这个属性的值永远跟在function后面的关键字后面的标识符
console.log(functionName.name); // functionName

// 关于函数声明,有一个重要特征就是函数声明提升,意思是在执行代码之前会先读取函数声明,这就意味着可以把函数声明放在调用他的语句后面

sayHi(); // hi
function sayHi(){
console.log("hi");
}
// 这个例子不会报错,因为在代码执行之前会先读取函数声明

// 第二种创建函数的方式是函数表达式,函数表达式有几种不同的形式,下面一种是最常见的一种函数表达式的形式
var functionName2=function(arg0,arg1,arg2){
// 函数体
}

// 这种语句看起来就像普通变量的赋值语句一样,即创建一个函数并把它赋给变量functionName2,这种方式叫做匿名函数
// 匿名函数的name属性是空字符串

// 函数表达式和其他表达式一样,使用之前必须先赋值,以下代码会报错

sayHello(); // sayHello is not a function
var sayHello=function(){
console.log("hello");
}

原文地址:https://www.cnblogs.com/liululu/p/5939288.html