Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用可选参数编写javascript函数_Javascript - Fatal编程技术网

如何使用可选参数编写javascript函数

如何使用可选参数编写javascript函数,javascript,Javascript,我想写一个javascript函数,可以灵活地添加参数。关于详细信息,我想像下面那样封装singalR invoke函数,但是应该如何处理参数?例如,我想像下面这样调用var proxy=initsignal() proxy.invoke('Login',name,pw,fn),我应该如何调整下面的代码,以便能够灵活地添加参数。(例如,可能我还需要调用proxy.invoke('sendMessage',message,fn)) 功能测试(){ for(var i=0;i

我想写一个javascript函数,可以灵活地添加参数。关于详细信息,我想像下面那样封装singalR invoke函数,但是应该如何处理参数?
例如,我想像下面这样调用var proxy=initsignal()
proxy.invoke('Login',name,pw,fn),
我应该如何调整下面的代码,以便能够灵活地添加参数。(例如,可能我还需要调用proxy.invoke('sendMessage',message,fn))

功能测试(){
for(var i=0;i
function initSignalr(){
  var connection = $.hubConnection('http://xxxxxxx');
  var proxy = connection.createHubProxy('xxxxxxx');


  connection.start().done(function(){
    console.log("signalr connected");
  });

  return {
    on: function (eventName, callback) {
          proxy.on(eventName, function (result) {
            $rootScope.$apply(function () {
              if (callback) {
                callback(result);
              }
             });
           });
         },
    invoke: function (methodName, callback) {
          proxy.invoke(methodName)
          .done(function (result) {
            $rootScope.$apply(function () {
              if (callback) {
                callback(result);
              }
            });
          });
        }
    };}
function test() {
  for(var i = 0; i < arguments.length; i++) {
      console.log(arguments[i]);
  }
}


test();

test('Some Text String');

test(5, 6, function() { console.log('test') })