あなたはクラスマネージャ、縦軸の1を持っている場合のようにオブジェクトを返す必要があるあなたが連鎖する場合は機能:
function Manager(name){
this.name = name;
this.subordinate = {John : new Subordinate('John')};
this.getSubordinate = function getSubordinate(subName){
return this.subordinate[subName];
};
}
function Subordinate(name){
this.name = name;
this.salary = 0;
this.addSalary = function addSalary(salary){
this.salary = salary;
return salary;
};
}
var result = new Manager('Joe').getSubordinate("John").addSalary(10000);
が、私はお勧めので、私はあなたが、結果としてManagerオブジェクトをしたいと思いますこの方法を使用する
function Manager(name){
var self = this;
this.name = name;
this.subordinate = {John : new Subordinate('John')};
this.getSubordinate = function getSubordinate(subName){
return this.subordinate[subName];
};
this.addSalaryToSubordinate = function addSalaryToSubordinate(subName, salary){
self.getSubordinate(subName).addSalary(salary);
return self;
};
}
function Subordinate(name){
this.name = name;
this.salary = 0;
this.addSalary = function addSalary(salary){
this.salary = salary;
return salary;
};
}
var result = new Manager('Joe').addSalaryToSubordinate ("John", 10000);
これはキャプションコンテストですか?疑問はありません。[*どうやって良い質問をしますか?](http://stackoverflow.com/help/how-to-ask) – RobG
質問は何ですか? –
「プロトタイプチェーン」?あなたのコードから、あなたは流暢なAPIを書く方法を尋ねているようです... – giorgiga