在js对象中可以创建一个方法来作为对象的一个属性,作为属性时,method其实就是一个函数。

var duck = {
    name : "Aduck",
    numLegs : 2,
    sayName:function(){
        return "鸭子的名字是" + duck.name + ".";
    }
}
duck.sayName(); //鸭子的名字是Aduck.

使用this关键字

我们可以通过 对象名.属性 的方式来获取对象中某个属性的值,但是这样做并不严谨并且会导致错误的出现。如果我们通过这种方式来进行调用的话,一旦我们改掉对象的名称,那么对象内部的相关属性也需要进行修改,如果代码量过大则更容易导致错误的出现。

···
return "鸭子的名字是" + duck.name + ".";
···

所以我们需要使用this关键字来进行代替。

···
return "鸭子的名字是" + this.name + ".";
···

这样一来,即便我们修改了对象名,也不会引起函数内部的错误。

理解

我对于this的理解就是,它在当前的对象内部指代了对象的名称,就如同我们平常所说:“他的名字叫小米。。”这里的他就像this,代指了小米。

最后修改:2019 年 12 月 10 日 07 : 39 PM
如果觉得我的文章对你有用,请随意赞赏