【JS】 arguments参数简介

在读singalR.js源码时发现了它里面的一个format方法:

  format: function () {
            /// <summary>Usage: format("Hi {0}, you are {1}!", "Foo", 100) </summary>
            var s = arguments[0];
            for (var i = 0; i < arguments.length - 1; i++) {
                s = s.replace("{" + i + "}", arguments[i + 1]);
            }
            return s;
        },

然后发现,format function里面并没有参数,还是直接用arguments接收,后来学习了一下,发现arguments方法很强大,他能直接被调用,不管传递几个参数,他都能接收到,上边的方法就实现了.NET 里面 string.Format()方法。以后做参数判断,可以用arguments.length判断传递的参数数量是不是正确的。

最后,定义变量名不要为arguments,这就好比保留字,所以还是不要冲突的好。上述代码可以作为工具类里的一个方法了,简单粗暴实用。

你可能感兴趣的:(js,arguments)