函数基础
-
函数是什么
-
类似数学中的函数
-
声明:
-
function(...arguments) { (function body)}
-
表达式: var func = function [funcname](...arguments) {} :在funcname内部funcname有用,但是外部funcname无法用;但没有name时称为匿名函数/函数字面量
-
函数式编程
-
一个固定的功能或者是程序段被封装的过程
-
最佳实践:高内聚,低耦合 -> 模块的单一责任制
-
耦合:代码重复性 (DRY Principle)
-
内聚:模块内部相关性强,功能独立性强
-
期望实现某功能时写一个函数/组件写好能直接抽象出来到处用
-
函数名的命名规则
-
函数往往和动作有关,一般习惯用一个动词命名
-
参数
-
形式参数 通过function name.length可访问形式参数长度
-
实际参数 arguments(mutable)
-
调用函数时,实参中传了值的,可以在函数内部修改该实参,若没有传入实参,函数内部对实参进行修改,是没有作用的
-
形参存在栈内存,实参存在堆内存 -》 函数定义,调用过程参照预编译过程
-
return
-
作用:
-
提前终止执行
-
返回值 (void情况js引擎会自动加上return;)