Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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
jQuery/javascript参数处理问题_Javascript_Jquery - Fatal编程技术网

jQuery/javascript参数处理问题

jQuery/javascript参数处理问题,javascript,jquery,Javascript,Jquery,首先,我不知道如何表达“标题”这个问题,如果我把大家都搞糊涂了,很抱歉 无论如何,我在jQuery上看到了这段代码 或者换句话说,在什么样的情况下,我们将在基于示例的参数“methods[method]”中传递 谢谢 您在开头看到,代码定义了一个对象methods 函数$.fn.tooltip=function(method)接受名为method的参数(末尾没有s) 该函数将执行方法中定义的方法之一,但它只能执行该方法,前提是该方法也可用。因此,if(methods[method]) 如果方法是

首先,我不知道如何表达“标题”这个问题,如果我把大家都搞糊涂了,很抱歉

无论如何,我在jQuery上看到了这段代码

或者换句话说,在什么样的情况下,我们将在基于示例的参数“methods[method]”中传递


谢谢

您在开头看到,代码定义了一个对象
methods

函数
$.fn.tooltip=function(method)
接受名为
method
的参数(末尾没有s)

该函数将执行
方法
中定义的方法之一,但它只能执行该方法,前提是该方法也可用。因此,
if(methods[method])

如果
方法
是例如
显示
隐藏
更新
等,即如果
方法
对象具有包含在
方法
中的名称的属性,则表达式将是

因此,对于
foo
bar
,表达式将为
false
。如果
If
语句不存在,代码将尝试调用
方法['foo']
,该方法不存在,您将得到一个错误:

TypeError:对象不是函数


这就是您想要知道的吗?

您在开始时看到代码定义了一个对象
方法

函数
$.fn.tooltip=function(method)
接受名为
method
的参数(末尾没有s)

该函数将执行
方法
中定义的方法之一,但它只能执行该方法,前提是该方法也可用。因此,
if(methods[method])

如果
方法
是例如
显示
隐藏
更新
等,即如果
方法
对象具有包含在
方法
中的名称的属性,则表达式将是

因此,对于
foo
bar
,表达式将为
false
。如果
If
语句不存在,代码将尝试调用
方法['foo']
,该方法不存在,您将得到一个错误:

TypeError:对象不是函数


这就是您想要知道的吗?

if语句将检查您是否试图调用插件可用的方法之一。在您的示例中,您有以下方法:

init, destroy, reposition, show, hide, and update
因此,您可以执行以下操作:

$.tooltip('init', { arg1: true, arg2: 'a value' });
然后,您的代码知道将参数发送到何处,因为此if语句将为true:

if(methods['init'])

if语句将检查您是否试图调用插件可用的方法之一。在您的示例中,您有以下方法:

init, destroy, reposition, show, hide, and update
因此,您可以执行以下操作:

$.tooltip('init', { arg1: true, arg2: 'a value' });
然后,您的代码知道将参数发送到何处,因为此if语句将为true:

if(methods['init'])

您的代码片段不完整,并且没有演示如何调用,因此很难给出明确的答案

但是,以下是我对代码的看法:


if语句是必需的,因为将使用init、destroy、show、hide、update等参数调用tooltip函数,这些参数引用在方法散列中定义的函数。您可能会通过init调用tooltip来初始化工具提示、通过hide隐藏工具提示、通过show显示工具提示等。如果根本不传递参数,则默认为init方法并初始化工具提示(If的第二个分支)

您的代码片段不完整,并且没有演示如何调用,因此很难给出明确的答案

但是,以下是我对代码的看法:


if语句是必需的,因为将使用init、destroy、show、hide、update等参数调用tooltip函数,这些参数引用在方法散列中定义的函数。您可能会通过init调用tooltip来初始化工具提示、通过hide隐藏工具提示、通过show显示工具提示等。如果根本不传递参数,则默认为init方法并初始化工具提示(If的第二个分支)

首先,这段代码声明了一个名为
methods
的hashmap,其中包含一些函数

然后,第二部分声明一个名为
tooltip
的函数,该函数接受一个名为
method
的参数。此参数是我们要调用的函数的名称,此名称是
方法
数组中此函数的索引


因此,当您执行
$('#随便什么')。工具提示('destroy')
它将在
方法
数组中查找用
销毁
键引用的函数。

首先,这段代码声明了一个名为
方法
的hashmap,其中包含一些函数

然后,第二部分声明一个名为
tooltip
的函数,该函数接受一个名为
method
的参数。此参数是我们要调用的函数的名称,此名称是
方法
数组中此函数的索引


因此,当您执行
$('#随便什么')。工具提示('destroy')
它将在
方法
数组中查找
销毁
键引用的函数。

谢谢大家!所有的答案在某种程度上都很有帮助,我感谢大家的及时回复^^谢谢大家!所有的答案在某种程度上都是有帮助的,我感谢大家的及时回复^^