bra*_*ipt 4 javascript node.js
我正在编写几个采用不同类型参数的函数。这样,只需执行以下操作即可:
var myFunc = function() {
var args = Array.prototype.slice.call(arguments)
}
Run Code Online (Sandbox Code Playgroud)
...而不是尝试直接在函数声明的参数字段中处理所有不同的可能性,例如:
var myFunc = function(param1, param2, param3) {
if (param3) {
// etc.
}
}
Run Code Online (Sandbox Code Playgroud)
Array.prototype.slice.call(arguments)不过,这会增加代码很多,并降低了可读性。我试图弄清楚是否有一种方法可以编写一个可以完成与相同功能Array.prototype.slice.call()但更简洁易读的辅助函数。我正在尝试类似的东西:
var parseArgs = function() {
return Array.prototype.slice.call(arguments)
}
var foo = function() {
console.log(parseArgs(arguments))
}
foo('one', 'two', 'three')
// [Arguments, ['one', 'two', 'three']]
Run Code Online (Sandbox Code Playgroud)
但这显然行不通。
如果您不想Array.prototype.slice.call(args)每次都写,可以:
var slice = Function.call.bind(Array.prototype.slice);
Run Code Online (Sandbox Code Playgroud)
然后您可以在任何地方使用它,例如:
function fn(){
var arr = slice(arguments);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
644 次 |
| 最近记录: |