Javascript jquery-使用.call()时传递参数
在Javascript中使用Javascript jquery-使用.call()时传递参数,javascript,jquery,Javascript,Jquery,在Javascript中使用.call()时,如何向函数传递参数 当我传递参数时,它们在回调函数中总是未定义的 编辑(示例): 我的插件中将有一个选项对象: var options = { errorCallback : function( errors ) {} } 我将从我的插件中这样调用它: var errors = "Test error list"; configs.errorCallback.call(errors); 我会像这样初始化我的插件 $('#plugin-ele
.call()
时,如何向函数传递参数
当我传递参数时,它们在回调函数中总是未定义的
编辑(示例):
我的插件中将有一个选项对象:
var options = {
errorCallback : function( errors ) {}
}
我将从我的插件中这样调用它:
var errors = "Test error list";
configs.errorCallback.call(errors);
我会像这样初始化我的插件
$('#plugin-element').myPlugin(
{
'errorCallback' : function errorrCallbackFunction( errors ) {
console.log(errors) //always undefined
}
}
调用的第一个参数是函数的“this”。如果要将变量作为参数传递,请从第二个变量开始
configs.errorCallback.call(undefined, errors);
以下是文件:
这是没有必要的。如果要设置函数调用的上下文,只需使用call
。这意味着回调中this
的值
如果您不想设置此
,则可以像通常那样调用函数:
configs.errorCallback(errors);
如果要设置此
,则需要将其设置为调用
的第一个参数。后续参数将传递给函数
例如:
var configs = {
errorCallback : function( errors ) {}
};
configs.errorCallback.call(configs, errors);
在
errorCallback
中,您可以使用关键字this
访问configs
,您能举例说明您所做的哪些操作不起作用吗?回调函数?哪个回调函数?call()不是特定于jQuery的,它是一个JavaScript函数(或者更准确地说,它是函数对象的一个方法)。
var configs = {
errorCallback : function( errors ) {}
};
configs.errorCallback.call(configs, errors);