我有一个具有函数属性的对象:
示例:
const obj = {func: function() {console.log('I am a function in an object')}};
当我调用这个函数时,我会通过 obj.func()
调用它。如果我想向这个函数传递更多参数,我该如何访问它们?我试过了:
const obj = {
func: function() {
const args = [...arguments];
console.log(args);
}
}
所以当我调用 obj.func(arg1, arg2)
时,我希望它记录 arg1
和 arg2
是什么,但是这个调用返回 obj
作为单个参数。我还没有找到关于此的任何其他答案。顺便说一句,我是 javascript 新手。
答案 0 :(得分:1)
只需将其粘贴为值...
const obj = {
func: function() {
const args = [...arguments];
console.log(args);
}
}
obj.func("value1","value2")
const obj = {
func: function(arg1,arg2) {
const args = [arg1,arg2];
console.log(args);
}
}
obj.func("value1","value2")
const obj = {
func: function() {
const args = [arguments[0],arguments[1]];
console.log(args);
}
}
obj.func("value1","value2")
答案 1 :(得分:1)
只需使用循环和 arguments
即可立即访问您的函数参数。这是对您的功能的更改:
const obj = {
func: function() {
for (var iteration=0; iteration<arguments.length; iteration++)
console.log(arguments[iteration]);
}
}
答案 2 :(得分:0)
不需要 arguments
变量的更简单的选项如下:
const obj = {
func: (...args) => {
console.log(args);
}
};
obj.func("value1", "value2");