网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。
本篇文章给大家带来的内容是关于JavaScript中对this对象理解(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
前言:最近在细读Javascript高级程序设计,对于我而言,中文版,书中很多地方翻译的差强人意,所以用自己所理解的,尝试解读下。如有纰漏或错误,会非常感谢您的指出。文中绝大部分内容引用自《JavaScript高级程序设计第三版》。
this对象是在运行时基于函数的执行环境绑定:
在全局环境中, this等于window,而当函数被作为某个对象的方法调用时,this就指向了那个对象。
不过匿名函数的执行环境具有全局性,因此其this对象通常指向window。
在闭包中使用this对象可能会导致一些问题。
有时候由于编写闭包的方式不同,这一点可能不会那么明显。
// 在全局环境中,this等于window
function thisBoundForWindow(){
console.log(this);
console.log(this.name);
}
thisBoundForWindow(); // Window
var o = new Object();
o.name = "Shaw";
//当函数被作为某个对象的方法调用时,this就指向了那个对象。
thisBoundForWindow.apply(o); // {name: "Shaw"}; "Shaw" ;