我學習JavaScript和我看到w3schools.com這個例子中(是的,我知道w3fools):爲什麼JavaScript中用作對象構造函數的函數需要分配給對象的屬性?
<script>
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
this.changeName=changeName;
function changeName(name)
{
this.lastname=name;
}
}
myMother=new person("Sally","Rally",48,"green");
myMother.changeName("Doe");
document.write(myMother.lastname);
</script>
當我試圖刪除this.changeName=changeName;
部分,功能不再起作用。我的問題是爲什麼那部分需要?沒有任何解釋,它只是在那裏。
這就是不建議w3schools的原因之一......如果我沒有弄錯,通過這樣做,你實際上是通過將該方法分配給實例來公開該方法 –
@Bartdude我已經一直看到很多w3schools是一個不好的資源,但我一直在努力與它合作,因爲它是唯一一個有它的一切。你可能會提出任何其他選擇 – kentz
@kentz我可能會建議[MDN的教程](https://developer.mozilla.org/en-US/docs/Web/Tutorials);特別是他們的[初學者JavaScript教程](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide?redirectlocale=en-US&redirectslug=JavaScript%2FGuide)。 [使用對象](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects)課程覆蓋了您在此提出的大部分內容。 **免責聲明**:我從未使用MDN開始學習,所以我不知道他們的教程對新開發人員有多大幫助(儘管他們的參考資料非常好)。 – apsillers