zoukankan      html  css  js  c++  java
  • js函数重载

    其它面向对象的语言(比如Java)的一种共有的特性是“重载”函数的能力:传给它们不同数目或类型的参数,函数将执行不同操作。虽然这种能力在JavaScript 中不是直接可用的,一些工具的提供使得这种探求完全成为可能。
      在JavaScript的每一个函数里存在一个上下文相关的名为arguments的变量,它的行为类似于一个伪数组,包含了传给函数的所有参数。参数不是一真正的数组(意味着你不能修改它,或者调用push()方法增加新的项),但是你可以以数组的形式访问它,而且它也的确有一个length属性。
    示例
     1 //一个简单的用来发送消息的函数
     2 function sendMessage( msg, obj ) {
     3 //如果同时提供了一个消息和一个对象
     4 if ( arguments.length == 2 )
     5 //就将消息发给该对象
     6 obj.handleMsg( msg );
     7 //否则,刚假定只有消息被提供
     8 else
     9 //于是显示该消息
    10 alert( msg );
    11 }
    12 //调用函数,带一个参数– 用警告框显示消息
    13 sendMessage( "Hello, World!" );
    14 //或者,我们也可以传入我们自己的对象用
    15 //一种不同方式来显示信息
    16 sendMessage( "How are you?", {
    17 handleMsg: function( msg ) {
    18 alert( "This is a custom message: " + msg );
    19 }
    20 });
    21 //一个使用任意数目参数创建一个数组的函数
    22 function makeArray() {
    23 //临时数组
    24 var arr = [];
    25 //遍历提交的每一个参数
    26 for ( var i = 0; i < arguments.length; i++ ) {
    27 arr.push( arguments[i] );
    28 }
    29 //返回结果数组插入代码
    30 return arr;
    31 }


  • 相关阅读:
    SpringBoot统一全局响应(5)
    SpringBoot统一异常处理(4)
    Spring Cloud Alibaba-Gateway搭配Nacos实现动态路由(4)
    SpringBoot使用javax.validation进行参数校验(3)
    SpringBoot使用日志(2)
    WPF 之 ObservableCollection 动态数据集合的使用(二)
    WPF 之 INotifyPropertyChanged 接口的使用 (一)
    数据库访问框架 Chloe
    Navicat Premium 的破解安装教程
    C#定位文件位置并修改字节数据
  • 原文地址:https://www.cnblogs.com/hdzsyp/p/1862911.html
Copyright © 2011-2022 走看看