Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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,我可以获取第一个参数iAmDog,第一个参数也可以通过this访问,如何传递第二个参数iAmCat并打印它们 var speak=函数(iAmDog、iAmCat){ console.log(this); console.log(iAmDog.love); console.log(iAmDog.normal); console.log(iAmCat.love); 控制台日志(iAmCat.normal); }; 变量speakAsDog={ 正常:“moof”, 爱:“哇” }; var sp

我可以获取第一个参数
iAmDog
,第一个参数也可以通过
this
访问,如何传递第二个参数
iAmCat
并打印它们

var speak=函数(iAmDog、iAmCat){
console.log(this);
console.log(iAmDog.love);
console.log(iAmDog.normal);
console.log(iAmCat.love);
控制台日志(iAmCat.normal);
};
变量speakAsDog={
正常:“moof”,
爱:“哇”
};
var speakAsCat={
正常:“喵”,
爱:“咕噜”
};

通话(speakAsDog,speakAsCat)您的代码中充满了拼写错误。此外,您不必显式调用
.call()
函数

var speak=函数(iAmDog、iAmCat){
console.log(iAmDog.love);
console.log(iAmDog.normal);
console.log(iAmCat.love);
控制台日志(iAmCat.normal);
};
var speakAsDog={normal:'moof',love:'woow'};
var speakAsCat={normal:“喵”,love:'purr'};

说话(speakAsDog,speakAsCat)根据FrankerZ的建议,您可能不需要
调用
应用
,但如果您需要更改上下文变量, 您可以使用
调用

var speak=函数(iAmCat){
var iAmDog=这个;
console.log(iAmDog.love);
console.log(iAmDog.normal);
console.log(iAmCat.love);
控制台日志(iAmCat.normal);
};
变量speakAsDog={
正常:“moof”,
爱:“哇”
};
var speakAsCat={
正常:“喵”,
爱:“咕噜”
};

通话(speakAsDog,speakAsCat)
函数中的第一个参数。call
函数。apply
是函数中的
thisArg
值。所以,如果你想传递任何参数,你应该从第二个开始。在您的情况下,您可以将null作为
thisArg
发送,因为函数中没有引用它

var speak=函数(iAmDog、iAmCat){
console.log(iAmDog.love);
console.log(iAmDog.normal);
console.log(iAmCat.love);
控制台日志(iAmCat.normal);
};
var speakAsDog={normal:'moof',love:'woow'};
var speakAsCat={normal:“喵”,love:'purr'};
speak.call(null、speakAsDog、speakAsCat);

speak.apply(null,[speakAsDog,speakAsCat])
Hey@Syed当您想在不同的上下文中使用
this
时,您可以使用
call
apply
bind
来获得结果。Hey@FrankerZ在他已经提到的问题中,第一个参数也是通过
this
访问的。此解决方案如何有助于改变上下文?此处
将指向外部范围。如果我在这里遗漏了什么,请告诉我。他只是想访问参数。根本不需要
这个
。请检查他的第一行问题..>我可以得到第一个参数iAmDog,第一个参数也可以通过它访问,他需要使用它访问它。