JavaScript this关键字

JavaScript this关键字

this关键字是引用当前对象的引用变量。在这里,我们将通过不同的示例来了解this关键字。

使用JavaScript对该关键字示例进行编码

让我们看一下该关键字的简单示例。
 <script>
var address=
{
company:"lidihuo",
city:"beijing",
state:"UP",
fullAddress:function()
{
return this.company+" "+this.city+" "+this.state;
}
};
var fetch=address.fullAddress();
document.writeln(fetch);
</script>
输出:
lidihuo beijing UP
以下方法可用于了解this关键字引用的对象。

全局上下文

在全局上下文中,变量是在函数外部声明。在这里,this关键字指的是窗口对象。
 <script>
var website="lidihuo";
function web()
{
document.write(this.website);
}
web();
</script>
输出:

call()和apply()方法

call()和apply()方法允许我们编写可在不同对象上使用的方法。
 <script>
var emp_address = {
    fullAddress: function() {
return this.company + " " + this.city+" "+this.state;
    }
}
var address = {
    company:"lidihuo",
    city:"beijing",
    state:"UP",
}
document.writeln(emp_address.fullAddress.call(address));
document.writeln(emp_address.fullAddress.apply(address));</script>
输出:

bind()方法

ECMAScript 5 中引入了bind()方法。它创建一个新函数,该函数的关键字使用给定的参数序列引用提供的值。
 <script>
var lang="Java";
function lang_name(call)
{
    call();
};
var obj={
  lang:"JavaScript",
  language:function()
  {
    document.writeln(this.lang+ " is a popular programming language.");
  }
};
lang_name(obj.language);
lang_name(obj.language.bind(obj));
</script>
输出: