*具有实现特定功能、执行多条语句的封装体
*只有函数是可执行的,其他类型数据不可执行
*提高代码复用
*便于阅读
*函数声明
function xx(){
...
}
*表达式
var fn = function (){
...
}
test(): 直接调用
obj.test(): 通过对象调用
new test(): new调用
*test.call / apply (obj): 临时让test成为obj的方法并进行调用
原文:https://www.cnblogs.com/lonelyman/p/15030620.html