什么'这'在javascript中的意思
What 'this' means in javascript?
如果我只是在JavaScript的开头放一个"this",那么它不在任何函数中。"this"与"document"的含义相同吗?或者它的意思是窗户?
示例:
$(this).ajaxComplete(handler);
在这种情况下,我是将处理程序附加到窗口、文档还是其他什么?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this
全局上下文中的this
只是引用全局window
本身而不是文档。上面的链接有一个很好的例子:
console.log(this.document === document); // true
// In web browsers, the window object is also the global object:
console.log(this === window); // true
this.a = 37;
console.log(window.a); // 37
我还没有在所有浏览器中测试过这一点,但在Firefox和Chrome中似乎都是如此。
所以这真的取决于代码在哪里。它在$(document).ready()还是$(window).load()中?如果你只是在里面:
$(function(){ });
那么这只是$(document).ready()的不足。所以您将引用该文档。看看:http://learn.jquery.com/using-jquery-core/document-ready/
另外$(this)表示您引用的是当前对象。
如果这是脚本中的唯一一行,那么代码将在全局执行上下文中进行评估。让我们看看规范对它的描述:
10.4.1.1初始全局执行上下文
执行以下步骤初始化ECMAScript代码C的全局执行上下文:
- 将VariableEnvironment设置为Global Environment
- 将LexicalEnvironment设置为Global Environment
- 将ThisBinding设置为全局对象
ThisBinding
是this
解析的值。因此,在全局上下文中,this
指的是全局对象,在浏览器中是window
。
有关this
的更多(不太正式)信息,请查看MDN文档。
- @@(“at at”)在ES6 JavaScript中是什么意思
- minimy javascript是什么意思?Backbone.js
- var w = q||问2;这个表达式是什么意思
- 什么'它的意思是当一个变量位于括号外时
- 函数(i,val)在javascript中是什么意思
- 问号在这段代码中是什么意思
- 我不知道此代码中的这些符号是什么意思.十进制到二进制
- 什么意思是“;向原型添加方法”;
- ||{}在javascript中是什么意思
- “转义字符串”在Regex中是什么意思?(Javascript)
- 什么是“;传递给NewPromiseCapability的非构造函数值“;意思是
- 什么是“;(''+元素+'')“;意思是
- 这个代码是什么意思(history.replaceState和history.pushstate)
- :: 是什么意思
- 这是什么意思?getData([renderData]);
- MDN文档中关于弄清楚XUL元素的段落是什么意思:“如何将覆盖扩展转换为无重启”
- require('file_path')后面的后缀(模块)在javascript文件中是什么意思
- Twitter Bootstrap的Tab插件中“data-api”是什么意思
- 箭头函数 '() => {}' 在 Javascript 中是什么意思?
- 在这种情况下,“foo[x]”是什么意思?