var setAge = function (newAge) {
this.age = newAge;
};
var bob = new Object();
bob.age = 30;
bob.setAge = setAge;
bob.setAge(50);
基本上,代码从更改age属性的方法开始,然后是“ bob”对象,最后是使用该方法更改bob的属性(年龄)的代码。
我有两个问题:bob.setAge = setAge; (代码中的倒数第二行)
通过将setAge设置为等于bob.setAge,这不是将setAge设置为等于bob.setAge的全局变量吗?
在bob.setAge中,bob是变量,而setAge是方法。我认为写出bob.setAge之类的单词时,句点之前的单词引用对象(susan.age),而句点之后的单词引用属性(susan.age)。 javascript如何识别bob.setAge中的setAge引用方法而不是属性?
最佳答案
通过将setAge设置为等于bob.setAge,这不是将setAge设置为等于bob.setAge的全局变量吗?
不,你在做相反的事情
在bob.setAge中,bob是变量,而setAge是方法。我认为写出bob.setAge之类的单词时,句点之前的单词引用对象(susan.age),而句点之后的单词引用属性(susan.age)。 javascript如何识别bob.setAge中的setAge引用方法而不是属性?
JS不会“识别它”(因为“它们”是同一事物,所以不能区分“它们”):bob.setAge
包含对您可能(并且确实会)调用的函数的引用