函数

    耦合:代码重复太多了 ==> 解耦合 (最好的方法就是函数)
    高内聚,低耦合: 单一模块责任制

    1. function test(){} // 声明一个 test 的 函数 ,类似一个 var test ,但是是一种应用类型

    命名最好以小驼峰

    最基本的函数写法 —- 函数声明

    1. function test(参数){
    2. 函数执行语句
    3. }

    难点 : 表达式 : 字面量

    1. var test = function test1(){
    2. console.log('inner Text')
    3. test1() // 但是可以在内部调用 ,一般递归可以调用
    4. }
    5. console,log(test.name) // test1
    6. test() // 执行fn

    形式参数及映射
    形式参数 : 顺序一一对应

    1. function test(a,b){
    2. console.log(a,b) // 1, undefined 不会报错
    3. }
    4. test(1)

    arguments 解决 实参和形参不确定多少数量

    1. function test(a,b){
    2. let a = arguments[1]
    3. }
    4. test(1)

    改变实参

    1. function test(a,b){
    2. a = 3
    3. console.log( arguments[0]) // 3
    4. }
    5. test(1)

    空的实参,无法改变

    1. function test(a,b){
    2. b = 3
    3. console.log( arguments[1]) // undefined
    4. }
    5. test(1)

    默认结尾js引擎会有return

    1. function (){
    2. consoloe.log('执行结束')
    3. }
    4. 实际编译
    5. function (){
    6. consoloe.log('执行结束')
    7. return;
    8. }