理解javascript中函数对对象的赋值

理解javascript中函数对对象的赋值,javascript,Javascript,大家好,第一次在这里发帖 因此,我试图理解一些东西,我也将在这里发布代码,但如果您想查看源代码,则如下“” 这是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.setA

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

因此,我试图理解一些东西,我也将在这里发布代码,但如果您想查看源代码,则如下“”

这是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中面向对象编程的基本原理,而不需要语法糖

更简单地说,他们正在创建一个
person
,并且
person
可以有一组描述他们的属性,以及他们可以执行的一组操作

您已经在这里创建了名为
setAge

var setAge = function (newAge) {
  this.age = newAge;
};
它将
this
的年龄设置为
newAge
。但这里的问题是这是什么?答案是这要视情况而定,这就是为什么可以重用此函数的原因

所以当你“做鲍勃”

你所做的是说,
bob
有一个他可以做的动作,叫做
setAge
,这个动作相当于我们前面定义的函数
setAge
。同样在本上下文中,
指的是
bob

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

这有意义吗

在你的链接中还有这个报价

太好了!现在我们可以利用这样一个事实,即方法设置不限于单个对象


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

设置
是一个函数。。。稍后您可以调用它
bob.setAge(30)
.bob.setAge=setAge将对象的setAge方法定义为函数setAge,之后可以调用该方法并将一个值作为参数传递。不确定为什么会关闭-问题非常清楚。是的,我现在理解了。谢谢。。。。尝试学习java脚本有时会让人困惑,但快速的回答真的很感谢再次感谢是的,没问题。很高兴我能在他们关门前得到答复。他们可能对这里的新程序员非常不友好:/i我是新来的,我甚至不知道他们为什么关闭它:o。就像我10分钟前刚刚创建了我的帐户,然后添加了我的问题。@Munkiuke问题是你写了
,试图理解这在javascript中是如何工作的
,这不是一个很有描述性的标题。我对它进行了编辑以使它更清晰,但似乎为时已晚。下次试着让你的标题更具体一点。好吧,我现在明白了。谢谢,下次我会尽量在标题中说清楚。这(暂停)是什么意思?
// now we make bob
var bob = new Object();
bob.age = 30;
bob.setAge = setAge;