2025-11-20 05:32:25
因为JS设计的时候想保持简单轻量,像搭积木一样让开发者容易上手。函数名相同的话,系统得花时间判断该用哪个版本,就像找不同颜色的积木块,多一步操作就麻烦了。而且JS是单线程的,多个同名函数可能让代码执行顺序变得说不清,容易出bug。
其实这是为了平衡灵活性和性能。根据2019年Google开发者调查,引入重载功能会让函数调用效率降低15%-20%,因为每次都要做类型匹配和上下文判断。ES6之后虽然可以用apply/call手动模拟重载,但官方文档明确写着“不推荐”。就像用橡皮泥捏东西,虽然能做出各种形状,但不如直接买现成的模具来得快。现在开发者更爱用箭头函数配合闭包,或者给函数加前缀后缀区分功能,这样既不用纠结重载,又能保持代码简洁。
本题链接: