当前位置: 首页 > 面试题库 >

JavaScript '$(this)'和'this'有什么区别?

贡斌
2023-03-14
问题内容

我目前正在研究jQuery

对于以下两个示例:

$("#orderedlist").find("li").each(function (i) {
    $(this).append(" BAM! " + i);
});
$("#reset").click(function () {
    $("form").each(function () {
        this.reset();
    });
});

请注意,在第一个示例中,我们用于$(this)在每个li元素内附加一些文本。在第二个示例中,我们this在重置表单时直接使用。

$(this)似乎比经常使用this

我的猜测是,在第一个示例中,$()是将每个li元素转换为可以理解append()功能的jQuery对象,而在第二个示例中,reset()可以直接在表单上调用它。

基本上,我们需要$()特殊的仅jQuery功能。

这个对吗?


问题答案:

是的,只有$()在使用jQuery 时才需要。如果您想要jQuery的帮助来做DOM事情,请记住这一点。

$(this)[0] === this

基本上,每次您返回一组元素时,jQuery都会将其转换为jQuery对象。如果您知道只有一个结果,它将在第一个元素中。

$("#myDiv")[0] === document.getElementById("myDiv");

等等…



 类似资料:
  • 问题内容: 可以说我们有以下两个示例代码: 还有这个 所以有人可以告诉我现在有什么区别吗? 问题答案: 这两种不同的方法在 功能上是等效的 。有 可能 是一个非常小的 性能 差异: 在字节码级别,作为方法访问标记中设置的位, 同步方法 公布其同步需求。JVM查找该位标志并进行适当同步。 该 同步块 通过存储在该方法的类文件中的字节码定义的操作序列实现其同步。 因此,同步方法 可能会以 更快的速度执

  • 什么是 this? 我们已经列举了各种不正确的臆想,现在让我们把注意力转移到 this 机制是如何真正工作的。 我们早先说过,this 不是编写时绑定,而是运行时绑定。它依赖于函数调用的上下文条件。this 绑定与函数声明的位置没有任何关系,而与函数被调用的方式紧密相连。 当一个函数被调用时,会建立一个称为执行环境的活动记录。这个记录包含函数是从何处(调用栈 —— call-stack)被调用的,

  • 为什么要用 this? 如果对于那些老练的 JavaScript 开发者来说 this 机制都是如此的令人费解,那么有人会问为什么这种机制会有用?它带来的麻烦不是比好处多吗?在讲解 如何 有用之前,我们应当先来看看 为什么 有用。 让我们试着展示一下 this 的动机和用途: function identify() { return this.name.toUpperCase(); } f

  • 问题内容: 我遵循了有关创建JavaScript秒表,并试图将其扩展为可与多个秒表(一个类的多个实例)一起使用。我遇到的问题是,当我试图在时钟滴答声中显示当前值时,我需要使用“this”对类实例进行硬编码,这是行不通的(在我使用console.log的那一行中)。我已将代码缩减到最低限度以尝试理解这一方面,并​​粘贴了以下内容: 我认为以下链接描述了我的问题,但我对它的理解不足以在此处应用。问题是

  • 问题内容: 我有一个使用该函数并调用另一个方法的方法。在初始加载时,方法2可以正常工作。但是,超时后,我得到一个错误,它是未定义的。我在这里做错了什么? 例如: 问题答案: 问题是导致javascript使用全局范围。本质上,您是在调用类,而不是从中调用。相反,您只是在告诉您使用没有特定作用域的函数。 要解决此问题,您可以将函数调用包装在另一个引用正确变量的函数调用中。它看起来像这样: 可能是因为

  • 本文向大家介绍JavaScript中的this到底是什么(一),包括了JavaScript中的this到底是什么(一)的使用技巧和注意事项,需要的朋友参考一下 对于常年使用C++,C#,Java等这些面向对象语言的程序员来说,几乎天天都和this打交道。在这些语言里,this含义非常明确,就是指向当前的对象实例,我们用起来也是相当的放心。然而,到了JavaScript这个动态语言里,this的写法