### 无默认参数
- 形成 2 个作用域:local->global,函数内的变量声明和形参会直接声明在 local 作用域中,并被实参赋值
- 如果在函数内声明了和形参相同的变量名,则忽略函数内的声明
- 如果函数内声明了和参数相同的函数,则将函数地址赋值给形参
### 有默认参数
- 形成 3 个作用域:block->local->global,函数内的变量声明在 block 中,形参声明在 local 中,并被实参赋值
- 如果函数内存在和形参同名函数,则赋值 block 中的变量值为函数
- 如果在函数内声明了和形参相同的变量名,则将形参的值赋值给函数变量
- 如果同时存在与形参相同的同名函数和变量名,则 block 中的值为形参的值
global:全局作用域
local:函数作用域
block:块级作用域