言ってやるが、私は2つの機能があります。2つの関数をマージしますか?
function foo() {
this.lorem = 'ipsum';
}
function boo() {
console.log(this.lorem);
}
をそして私は、彼らが同じthis
を共有できるようにfoo
関数の最後にboo
関数を挿入します。どうすればいい?
言ってやるが、私は2つの機能があります。2つの関数をマージしますか?
function foo() {
this.lorem = 'ipsum';
}
function boo() {
console.log(this.lorem);
}
をそして私は、彼らが同じthis
を共有できるようにfoo
関数の最後にboo
関数を挿入します。どうすればいい?
このようにします。すべての深刻さで
function foo() {
this.lorem = 'ipsum';
console.log(this.lorem);
}
、あなたの質問には確実に答えられるには十分明確ではありません。あなたが別々にそれらを維持したい場合に
:
myClass.foo();
Live test case:foo
を有効にするには次に
var myClass = {
foo: function foo() {
this.lorem = 'ipsum';
this.boo();
}, boo: function boo() {
alert(this.lorem);
}
};
:
function foo() {
this.lorem = 'ipsum';
boo(this);
}
function boo(element) {
console.log(element.lorem);
}
function foo() {
this.lorem = 'ipsum';
boo.call(this);
}
function boo() {
console.log(this.lorem);
}
foo();
既存の関数がこれを行う変更したくない場合は、次の
function foo() {
this.lorem = 'ipsum';
}
function boo() {
console.log(this.lorem);
}
function bar() {
boo.call(new foo);
}
bar();
は、ここでのアクションでそれをJSFiddleです: http://jsfiddle.net/8Wb6T/
私はあなたが何を理解してないと思います 'これは実際に言及している。これは 'window'オブジェクトを参照します。あなたは 'lorem'をグローバルにしています。 「これ」の「共有」はありません。どちらの関数においても、 'this'はすでに同じオブジェクト(' window')を参照しています。 'foo(); console.log(this.lorem); 'が動作します。 –