函数声明:
function add(a, b) { // ... }
1.顾名思义,声明一个函数, 用关键字 “function” 来告诉,这是一个函数。
2.任何地方,想用就可以拿过来使用
函数表达式:
var add = function (){ //... };
表达式, 最先想到的赋值表达式,如 a = b;
1.表达式与声明的区别之一, 末尾有无 分号(;) 结束。
2.表达式不同于声明的区别之二: 函数表达式的函数并不是想用就可以调用, 他要等到程序执行到他的时候才可以使用。
在函数表达式中:
赋值运算符往后,分号之前的 叫做 匿名函数。
因为没有名字,所以要通过表达式给他一个名字,才能调用它。
与匿名函数相似,还有一个叫做 箭头函数 的,像这样:
x => x * x
或是这样:
(x,y) => { if (x > 0) { return x + y; } else { return -x + y; } }
箭头函数 与 匿名函数的区别在于: 函数中 this 的指向 问题。
箭头函数: 由上下文决定。
匿名函数: 自身作用域。
详情:https://www.jb51.net/article/104352.htm
立即执行函数:
在 匿名函数 或者 箭头函数 后面加 () 立即执行这个函数。
举例:
var a = function(params) { console.log(params); }('i am param');
程序执行到这一句的时候,控制台就会看到 “i am param” 。
