gpt4 book ai didi

javascript - 无法理解 JavaScript 中的对象方法

转载 作者:太空宇宙 更新时间:2023-11-04 15:54:12 25 4
gpt4 key购买 nike

我现在正在从 Codecademy 学习 JS,在本节的“对象方法”部分中,我们被要求更改 Susan 的年龄。
这是代码

 // Change Age Function
var setAge = function (newAge) {
this.age = newAge;
};
// New Object Bob.
var bob = new Object();
bob.age = 30;

// New Object Susan.
var susan = new Object();
susan.age = 25;

// Changing Susan Age.
susan.setAge = setAge;
susan.setAge(35);

console.log(susan.age); // Output is 35.

现在我的问题是它有什么作用:

susan.setAge = setAge;

为什么我不能简单地写

susan.setAge(35);

这里还有一段代码,在这段代码中我们必须更改矩形的高度和宽度。

//declaring new object rectangle
var rectangle = new Object();
rectangle.height = 3;
rectangle.width = 4;

// change height function
rectangle.setHeight = function (newHeight) {
this.height = newHeight;
};

// Change width function
rectangle.setWidth = function(newWidth){
this.width = newWidth ;
}

// changing Height and Width
rectangle.setHeight(6);
rectangle.setWidth(8);

console.log(rectangle.height + " " + rectangle.width); //output is 6 8

在上面的代码中,即使我没有写,我也能得到答案,没有任何错误

rectangle.setHeight = setHeight;         
rectangle.setWidth = setWidth;

最佳答案

为了使 susan.setAge(35); 行正常工作,您需要 susan 对象中的 setAge() 函数,对吧?

susan.setAge = setAge;

如果你仔细观察顶部,你就声明了该函数

 // Change Age Function
var setAge = function (newAge) {
this.age = newAge;
};

现在您将该函数设置为具有相同名称 susan.setAge 的对象 susan

更新:

susan.setAge = setAge;

相同
susan.setAge = function (newAge) {
this.age = newAge;
};;

这就是原因,在您的另一个示例中,您不需要编写该行,因为您直接分配更新中所示的函数。

关于javascript - 无法理解 JavaScript 中的对象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42853385/

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