方法实现差异.需要一些了解

Method implementation difference.. need some understadning

本文关键字:了解 实现 方法      更新时间:2023-09-26

先对不起。 因为我不知道这个问题是否有效。 如果有人澄清我的疑问,那么我很高兴。

基本上:调用方法有什么区别:

  1. object.methodname();

  2. $('#element').methodname();

双向调用是有效的,但是标准制作第一和第二种方法之间有什么区别。 它在核心JavaScript中也可用吗?

如果我有一个函数,是否可以始终进行 2 种类型的方法调用?

任何人都可以给出一些很好的参考来正确理解吗?

提前谢谢。

第一个语法:

object.methodName();

说调用一个函数,methodName(),它被定义为object的属性。

第二种语法:

$('#element').methodname();

说调用一个名为 $() 的函数,该函数(为了使其工作)必须返回一个对象,然后在该返回对象上调用 methodname()

"双向调用是有效的"——所以大概你有一些这样的代码:

var myObject = $('#element');
myObject.methodname();

这种将$()函数的结果存储在变量中的概念通常称为"缓存"jQuery对象,如果您计划在该对象上调用大量方法,则效率更高,因为每次调用jQuery $()函数时,它都会创建另一个jQuery对象。

"它在核心JavaScript中也可用吗?"是的,如果您实现返回对象的函数。也就是说,JS支持这一点(它必须这样做,因为jQuery只是一个JS库),但它不会自动发生,你必须编写适当的函数代码。例如:

function getObject() {
   return {
      myMethod1 : function() { alert("myMethod1"); return this; },
      myMethod2 : function() { alert("myMethod2"); return this; }
   };
}
getObject().myMethod1().myMethod2();

在我看来,更深入地解释这个概念超出了 Stack Overflow 答案的范围 - 你需要阅读一些 JavaScript 教程。MDN 的 Working with Objects 文章是一个很好的起点,一旦你学习了 JS 基础知识(可以说使用对象 JS 基础,但显然我的意思是比这更基本的东西)。

差异非常微妙。

object.methodname();

这是JavaScript手头有对象的时候。

$('#element').methodname();

如果您使用的是 jQuery,则要求 jQuery 选择具有 id 为 #element 的对象。之后,在所选对象上调用该方法。