gpt4 book ai didi

javascript - 面向对象的 JavaScript : Usage of "this" necessary within methods?

转载 作者:行者123 更新时间:2023-11-29 16:53:07 25 4
gpt4 key购买 nike

当从具有属性的对象访问对象属性时,是否应该使用“this”关键字。

我制作了这个演示。两种方式都很好。

那么,添加“this”是否有充分的理由,还是可以省略它?

function CalcCircle(radius) {
this.radius = radius;

this.getCircle = function () {
// Accessing the property "radius" WITH "this".
return (Math.PI * this.radius * 2);
};
}

// Without the "this" keyword.
function CalcCircle2(radius) {
this.radius = radius;

this.getCircle = function () {
// Accessing the property "radius" WITHOUT "this".
return (Math.PI * radius * 2);
};
}

var o1 = new CalcCircle(10);
var o2 = new CalcCircle2(10);

console.log('With "this": ' + o1.getCircle());
// With "this": 62.83185307179586
console.log('Without "this": ' + o2.getCircle());
// Without "this": 62.83185307179586

最佳答案

不同之处在于,当您仅引用 radius 时,您指的是创建对象时传入的值。

如果 radius 的值在运行时在圆上发生变化,您从 getCircle 返回的值将不会在第二个中更新。

关于javascript - 面向对象的 JavaScript : Usage of "this" necessary within methods?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34631536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com