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