爲什麼只是使用call
將屬性添加到名爲jc
的Employee
實例?爲什麼'call()'爲函數的實例添加屬性? (請參閱小代碼)
我想知道爲什麼jc.hasOwnProperty('firstName');
結果爲true
。
我還沒有做prototype
繼承呢。這是所有的代碼,不多不少:
我知道call
只是在傳遞參數時更改this
,但要添加屬性?我不知道這是怎麼回事...
function Person(firstName, lastName){
this.firstName = firstName;
this.lastName = lastName;
}
function Employee(firstName, lastName, position){
Person.call(this,firstName,lastName);
this.position = position;
}
var jc = new Employee('JC','Viray','Developer');
jc.hasOwnProperty('firstName'); //true
UPDATE
現在我得到它..解決我的問題是:在C#/ Java的心態 停止思考..我失去的軌道,Person
是仍然一個FUNCTION
儘管它是一個「構造型功能」 ...... -_-一次函數,還是一個功能..
是的..終於我真的得到它現在(只是點擊)...我仍然有一個'類'的心態/範式,並認爲人作爲一個類在C#/ Java的意義上...失去了軌道,它*仍然*一個功能..(!) – 2012-02-24 20:17:38
@JanCarloViray - 完全。 JavaScript是一門難以置信的棘手語言,學習來自C#,Java等。看起來你很好。 – 2012-02-24 20:18:50
謝謝:)這絕對是鼓勵聲明:) – 2012-02-24 20:19:41