如何通过其他对象调用Javascript函数?
首先,我为这个模糊的标题感到抱歉;想不出更合适的措辞了。一般来说,我对Javascript和web编程比较陌生(尽管是.NET桌面编程的第二季)。我在JS中反复研究了以下编码模式,尤其是使用jQuery UI之类的库函数:如何通过其他对象调用Javascript函数?,javascript,Javascript,首先,我为这个模糊的标题感到抱歉;想不出更合适的措辞了。一般来说,我对Javascript和web编程比较陌生(尽管是.NET桌面编程的第二季)。我在JS中反复研究了以下编码模式,尤其是使用jQuery UI之类的库函数: $("#MyDiv").dialog({ ... }); 我的问题是(像C程序员一样思考),$(“#MyDiv”)的类型是什么?dialog()如何成为这种类型的成员?我可以看到,dialog()是在jQuery UI库中定义的,可以动态附加到任何对象。这里有什么魔力?C#
$("#MyDiv").dialog({ ... });
我的问题是(像C程序员一样思考),$(“#MyDiv”)
的类型是什么?dialog()
如何成为这种类型的成员?我可以看到,dialog()
是在jQuery UI库中定义的,可以动态附加到任何对象。这里有什么魔力?C#的等价物是什么;扩展方法
另外,是否有一种方法可以获取此“附加”函数中调用对象的引用?以下是对以下内容的快速分解:
$("#MyDiv").dialog({ ... });
$
是一个函数。虽然它看起来像一个特殊的符号,但它只是一个普通的老javascript函数“#MyDiv”
,并创建并返回一个jQuery对象.dialog()
的方法.dialog()
部分正在调用前面函数刚刚创建并返回的jQuery对象上的.dialog()
方法按顺序步骤:
$
函数并向其传递“#MyDiv”
选择器参数$
函数创建一个jQuery对象并查找该选择器,并将与该选择器匹配的任何DOM对象存储在该jQuery对象中$
函数返回这个新的jQuery对象.dialog()
的方法,当找到该方法时,它将在该对象上执行,如obj.method()
中所示.dialog()
方法查看调用它的jQuery对象(此指针设置为该对象),查看传递给.dialog()
方法的参数,并相应地执行操作
下面是对以下内容的快速细分:
$("#MyDiv").dialog({ ... });
$
是一个函数。虽然它看起来像一个特殊的符号,但它只是一个普通的老javascript函数“#MyDiv”
,并创建并返回一个jQuery对象.dialog()
的方法.dialog()
部分正在调用前面函数刚刚创建并返回的jQuery对象上的.dialog()
方法按顺序步骤:
$
函数并向其传递“#MyDiv”
选择器参数$
函数创建一个jQuery对象并查找该选择器,并将与该选择器匹配的任何DOM对象存储在该jQuery对象中$
函数返回这个新的jQuery对象.dialog()
的方法,当找到该方法时,它将在该对象上执行,如obj.method()
中所示.dialog()
方法查看调用它的jQuery对象(此指针设置为该对象),查看传递给.dialog()
方法的参数,并相应地执行操作
$(“#MyDiv”)
返回一个jQuery对象,对话框
是jQuery类的一个方法
不像C++语言那样,JavaScript允许方法在类中被添加到即时的类中。因此,当您加载jQuery UI库时,它会将
对话框
方法添加到jQuery类中
在方法内部,特殊变量this
包含对调用它的对象的引用。$(“#MyDiv”)
返回jQuery对象,而dialog
是jQuery类的方法
不像C++语言那样,JavaScript允许方法在类中被添加到即时的类中。因此,当您加载jQuery UI库时,它会将
对话框
方法添加到jQuery类中
在方法内部,特殊变量
this
包含对调用它的对象的引用。$(“#MyDiv”)
是属于jQuery库的类型,而不是纯Javascript。将jQuery看作是一组扩展方法,比如c中的Linq,通常,您可以使用this
引用调用对象(来自该方法)。例如,$('#mydiv').dialog({…})=>此
通常是DOM元素(#mydiv
)或表示选择的jQuery对象。有关构造函数和原型的更多信息可以在此处找到:即使在不使用new的情况下调用jQuery($),也会返回一个新的jQuery实例。$(“#mydiv”)
是属于jQuery库的类型,它不是纯Javascript。将jQuery看作是一组扩展方法,比如c中的Linq,通常,您可以使用this
引用调用对象(来自该方法)。例如,$('#mydiv').dialog({…})=>此
通常是DOM元素(#mydiv
)或表示选择的jQuery对象。有关构造函数和原型的更多信息可以在此处找到:即使在不使用new的情况下调用jQuery($),也会返回一个新的jQuery实例。没有jQuery“类”如果它像鸭子一样呱呱叫的话。:)谢谢由于不清楚的原因,我更喜欢这个答案如果jQuery像鸭子一样嘎嘎作响,那么就没有jQuery“类”。)谢谢由于不清楚的原因,我更喜欢这个答案富有洞察力的非常感谢。这是se最接近的c#替代方案