JS核心-part3

时间:2021-08-16
本文章向大家介绍JS核心-part3,主要包括JS核心-part3使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

3. 重载:

相同函数名,不同形参列表的多个函数,
在调用时可以自动根据传入的实参值不同,
选择对应版本的函数调用。

何时
---
一件事,可能根据传入的实参值不同,执行不同的逻辑时,都用重载。

好处
---
减少函数名的个数,减轻调用者的负担。

问题:
---
js程序中禁止两个同名函数同时存在。
如果同时存在两个同名函数,则只有最后定义的一个函数才能幸存下来,覆盖之前所有同名函数。

解决:借助于arguments对象来解决:

什么是arguments:
---
i. 每个函数中自带的——不用创建,直接使用
ii. 专门接受所有传入函数的实参值的——内容
iii. 类数组对象——结构

什么是类数组对象
---
①: 什么是类数组对象: 长的像数组的对象
②: 相同: 1. 下标, 2. length, 3. for循环遍历
③: 不同: 本质/类型不同:
数组是Array类型的对象
类数组对象是Object类型的对象
导致: 类数组对象无权使用数组类型的任何函数。
(不是一家人,不进一家门)

如何:
---
i. 只定义一个函数,且不要定义任何形参
ii. 在函数内部,判断arguments的长度、元素值、元素类型等条件,根据传入实参值或实参个数不同,来选择执行不同的逻辑。

原文地址:https://www.cnblogs.com/cansliang/p/15147376.html