Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
什么';这';在javascript中是什么意思?_Javascript_Jquery - Fatal编程技术网

什么';这';在javascript中是什么意思?

什么';这';在javascript中是什么意思?,javascript,jquery,Javascript,Jquery,如果我只是在JavaScript的开头加上一个“this”,它不会出现在任何函数中。“this”与“document”的含义是否相同?或者它的意思是窗户 例如: $(this).ajaxComplete(handler); 在这种情况下,我是否将处理程序附加到窗口、文档或其他内容?因此这实际上取决于代码的位置。它是在$(document).ready()还是$(window).load()中?如果你就在里面: $(function(){ }); 那么这只是$(document.ready()

如果我只是在JavaScript的开头加上一个“this”,它不会出现在任何函数中。“this”与“document”的含义是否相同?或者它的意思是窗户

例如:

$(this).ajaxComplete(handler);

在这种情况下,我是否将处理程序附加到窗口、文档或其他内容?

因此这实际上取决于代码的位置。它是在$(document).ready()还是$(window).load()中?如果你就在里面:

$(function(){ });
那么这只是$(document.ready()的简写。因此,您将参考该文档。请查看:


另外$(这)表示您正在引用当前对象

所以这取决于代码的位置。它是在$(document).ready()还是$(window).load()中?如果你就在里面:

$(function(){ });
那么这只是$(document.ready()的简写。因此,您将参考该文档。请查看:

另外$(这)表示您正在引用当前对象

在全局上下文中仅引用全局
窗口
本身,而不是文档。上面的链接有一个很好的例子:

console.log(this.document==document);//正确

//在web浏览器中,窗口对象也是全局对象:
console.log(this==窗口);//正确

this.a=37;
console.log(window.a);//37

我还没有在所有浏览器中测试过这一点,但在Firefox和Chrome中似乎都是如此。

在全局上下文中仅引用全局
窗口
本身,而不是文档。上面的链接有一个很好的例子:

console.log(this.document==document);//正确

//在web浏览器中,窗口对象也是全局对象:
console.log(this==窗口);//正确

this.a=37;
console.log(window.a);//37


我没有在所有浏览器中测试过这一点,但在Firefox和Chrome中都是如此。

如果这是脚本中的唯一一行,那么代码将在全局执行上下文中进行评估。让我们看一下规范对其的说明:

执行以下步骤以初始化ECMAScript代码C的全局执行上下文:

  • 设置为
  • 设置为
  • 将设置为全局对象
  • ThisBinding
    this
    解析的值。因此,在全局上下文中,
    这个
    指的是全局对象,它在浏览器中是
    窗口


    有关
    的更多(不太正式)信息,请查看。

    如果这是脚本中的唯一一行,则在全局执行上下文中对代码进行评估。让我们看一下规范对其的说明:

    执行以下步骤以初始化ECMAScript代码C的全局执行上下文:

  • 设置为
  • 设置为
  • 将设置为全局对象
  • ThisBinding
    this
    解析的值。因此,在全局上下文中,
    这个
    指的是全局对象,它在浏览器中是
    窗口


    有关
    的更多(不太正式)信息,请查看。

    窗口
    ,可能是这样,但如果没有进一步的上下文,我无法判断。
    console.log(此)这主要意味着您正在将当前对象分配给一个变量,除了它始终是全局对象-窗口。@jp310-函数构造函数中的“this”与窗口对象不同。它取决于上下文并具有范围。我建议阅读MDN文档:
    window
    ,可能吧,但如果没有进一步的上下文,我就说不出来了。
    console.log(this)这主要意味着您正在将当前对象分配给一个变量,除了它始终是全局对象-窗口。@jp310-函数构造函数中的“this”与窗口对象不同。它取决于上下文并具有作用域。我建议阅读MDN文档:$(this)不在任何地方,它不在您列出的任何表达式中。它只是在JavaScript文件的最开始处编写的。正如上面回答的,我认为它指的是窗口。$(这个)不在任何地方,它不在您列出的任何表达式中。它只是在JavaScript文件的最开始处编写的。如上所述,我认为它指的是窗户。