JavaScript#JavaScript#函数#学习笔记
JavaScript 入门第七天:函数、参数与返回值
把重复逻辑封装成函数,分清调用、参数、返回值与作用域,为后续模块化代码打基础。
2 分钟阅读
第七天开始系统学习函数。函数的价值不只是少写几行代码,更重要的是给一段逻辑起名字、规定输入,并把结果交回调用处。
声明函数和调用函数是两件事
函数声明只是在定义能力,带上括号才会执行:
function greet() {
console.log('你好')
}
greet()
阅读代码时先找函数在哪里被调用,再看它的输入和输出,能避免把函数体当成“定义时就运行”的代码。
参数让函数接收变化的数据
形参是函数定义里的占位名,实参是调用时传入的具体值:
function add(left, right) {
return left + right
}
const sum = add(10, 20)
参数让同一段逻辑适用于不同数据。函数内修改基本类型参数不会改到外部变量;对象和数组传入时复制的是引用,修改对象属性则可能影响外部数据,这一点会在引用类型中继续学习。
return 把结果带回调用处
console.log() 只是输出,return 才是函数调用表达式的结果:
function isAdult(age) {
return age >= 18
}
if (isAdult(user.age)) {
allowEntry()
}
执行到 return 后函数会立刻结束。没有写 return 的函数调用结果是 undefined。把“计算”封装成有返回值的函数,比在函数内部直接改页面更容易测试和复用。
封装前先列清步骤
函数阅读练习反复强调一件事:先把每一步的输入、变量变化和输出写清楚。一个好函数通常只做一件清晰的事,名字使用动词,例如 formatPrice、findUser、renderList。
今天尝试把重复判断和计算抽成函数后,代码的结构开始从“按顺序堆语句”变成“由多个职责明确的小步骤组成”。这是继续学习回调、对象方法和类之前最重要的转变。