Javascript 如何';这';关键词有效吗?
我不明白bob.setAge=setAge在做什么。有人能解释它是如何工作的吗Javascript 如何';这';关键词有效吗?,javascript,Javascript,我不明白bob.setAge=setAge在做什么。有人能解释它是如何工作的吗 var bob = { name: "Bob Smith", age: 15 }; var frank = { name: "Frank Wolf", age: 32 }; function setAge(newAge) { this.age = newAge; } bob.setAge = setAge; bob.setAge(23); 此的值将在函数调用期间确定。所
var bob = {
name: "Bob Smith",
age: 15
};
var frank = {
name: "Frank Wolf",
age: 32
};
function setAge(newAge) {
this.age = newAge;
}
bob.setAge = setAge;
bob.setAge(23);
此
的值将在函数调用期间确定。所以,当你像这样用bob
调用它时
bob.setAge(23);
setAge(10);
在设置
内,此
将引用bob
。因此,23
将被分配给bob
的age
属性
您可以将该函数动态附加到任何对象并调用setAge
。比如说,
frank.setAge = setAge;
frank.setAge(26);
将frank
的age
设置为26
注意:如果您只需在没有任何对象的情况下调用设置
函数,如下所示
bob.setAge(23);
setAge(10);
然后JavaScript将确保
this
将引用全局对象。但如果在脚本模式下执行此操作,此
将设置为未定义
,并且设置将失败。因为您不能在未定义的上设置年龄此的值将在调用函数时确定。所以,当你像这样用bob
调用它时
bob.setAge(23);
setAge(10);
在设置
内,此
将引用bob
。因此,23
将被分配给bob
的age
属性
您可以将该函数动态附加到任何对象并调用setAge
。比如说,
frank.setAge = setAge;
frank.setAge(26);
将frank
的age
设置为26
注意:如果您只需在没有任何对象的情况下调用设置
函数,如下所示
bob.setAge(23);
setAge(10);
然后JavaScript将确保this
将引用全局对象。但如果在脚本模式下执行此操作,此
将设置为未定义
,并且设置将失败。因为,您不能在未定义的上设置年龄bob.setAge=setAge
-->bob.setAge
(类似于参考变量)现在将引用setAge
函数,以便在从bob对象调用它时,可以像调用bob.setAge(23)
一样调用它<代码>此
将指bob
内部的setAge
功能bob.setAge=setAge
-->bob.setAge
(类似于参考变量)现在将引用setAge
函数,以便在从bob对象调用它时,可以像调用bob.setAge(23)
一样调用它<代码>此
将指bob
内部的设置
功能基本上设置只是一个功能。这可能会改变财产年限的价值
你做的那些
bob.setAge = setAge;.
将方法集添加到对象bob,该方法集现在将改变bob的年龄值
现在调用bob.setAge(23)
年龄从15岁变为23岁。基本上,设置年龄只是一个函数。这可能会改变财产年限的价值
你做的那些
bob.setAge = setAge;.
将方法集添加到对象bob,该方法集现在将改变bob的年龄值
现在调用bob.setAge(23)
年龄从15变为23。当您使用调试器并在调试器命中之前和之后运行代码并检查这些值时,您会看到什么?当您使用调试器并在调试器命中之前和之后运行代码并检查这些值时,您会看到什么,请让我知道这个答案有什么问题。什么是脚本模式?Downvoter,请让我知道这个答案有什么问题。什么是脚本模式?