gpt4 book ai didi

javascript - 了解将函数分配给javascript中的对象

转载 作者:行者123 更新时间:2023-11-30 00:16:38 25 4
gpt4 key购买 nike

大家好第一次在这里发帖。

所以我试图理解一些东西,我也会在这里发布代码,但是如果你想查看源代码,它是这个“https://www.codecademy.com/en/courses/spencer-sandbox/2/5?curriculum_id=506324b3a7dffd00020bf661

这是来自 codeacademy 的练习....

所以有 bob.setAge = setAge; ,为什么不让它成为 bob.setAge= newAge; ?这是代码。

var setAge = function (newAge) {
this.age = newAge;
};
// now we make bob
var bob = new Object();
bob.age = 30;
bob.setAge = setAge;

// make susan here, and first give her an age of 25
var susan = new Object();
susan.age=25;
susan.setAge = setAge;


// here, update Susan's age to 35 using the method

susan.setAge(35);

最佳答案

我相信这个练习试图教你在没有语法糖的情况下使用 JavaScript 进行面向对象编程的基础知识。

更简单地说,他们正在创造一个,而那个可以拥有一组描述他们的属性,以及他们可以执行的一组操作。

您已在此处创建了名为 setAge 的函数

var setAge = function (newAge) {
this.age = newAge;
};

它将this 的年龄设置为newAge。但这里的问题是什么是this?答案是视情况而定,这就是您可以重用此功能的原因。

所以当你“做鲍勃”的时候

// now we make bob
var bob = new Object();
bob.age = 30;
bob.setAge = setAge;

你所做的是说 bob 有一个他可以做的 Action setAge,这个 Action 等同于我们之前定义的函数 设置年龄。同样在此上下文中,this 是指 bob

因此,当您执行类似bob.setAge(20) 的操作时,由this.age 表示的bob.age 将从3020

这有意义吗?

在你的链接中也有这句话

Great! Now we can take advantage of the fact that the method setAge is not limited to a single object bob

无论是 bob 还是 susan,如果将其分配给对象,您始终可以使用上面定义的相同 setAge 函数。

关于javascript - 了解将函数分配给javascript中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34465206/

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