JavaScript中的 this
JavaScript中的 this 表示当前调用函数的对象。就是谁调用了它就表示。请看下面三个例子.
1 this.name="global"; 2 function f(){ 3 console.log(this.name); 4 }; 5 f();
结果输出 globale 。我们知道在代码顶层定义一个对象,该对象就成为全局对象的一个属性。所以所上面 的 f() 就相当于 this.f() 。 所以输出 global
我们在接着写
1 var foo = {}; 2 foo.name = "foo"; 3 foo.fun = f; 4 foo.fun();
此时输出 foo。此时调用 函数 f 的是 foo对象 所以 this.name="foo" 函数输出 foo。
继续写:
1 var foo2 = {}; 2 foo2.name = "foo2"; 3 f.apply(foo2);
结果输出 foo2 。apply() 是函数对象的一个方法。该方法的作用是 将函数作为一个对象的方法调用。所以此时调用 函数 f 的对象是 foo2. 所以 this.name = "foo2"。
我们在看另外一个例子,这个例子中要用到JQuery。
1 <html> 2 <head> 3 <script type="text/javascript" src="jquery-1.7.min.js"></script> 4 <script type="text/javascript"> 5 $(function(){ 6 $("#btn").click(function(){ 7 alert(this.name); 8 }); 9 }); 10 </script> 11 </head> 12 <body> 13 <input type="button" value="点击我" id="btn" name="按钮" /> 14 </body> 15 </html>
点击按钮后弹出 "按钮" 。在这个按钮中 使用 JQuery 绑定 按钮对象 的单击事件。上面一段JQuery代码就相当于
1 document.getElementById("btn").onclick = function(){console.log(this.name)}
点击按钮后出发 onclick事件 。调用 我们定义的函数。此时是 按钮对象调用 该函数,所以此时的 this 就是 按钮对象 。
现在明白 this 的含义了 吧。 代表当前调用函数的对象。
标签:
JavaScript
posted on 2013-05-12 23:55 Arts&Crafts 阅读(217) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构