合并两个功能?

时间:2011-08-17 10:56:37

标签: javascript

说,我有两个功能:

function foo() {
  this.lorem = 'ipsum';
}

function boo() {
  console.log(this.lorem);
}

我想在boo函数的末尾插入foo函数,以便它们可以共享相同的this。我该怎么办?

5 个答案:

答案 0 :(得分:1)

喜欢这个吗?

function foo() {
    this.lorem = 'ipsum';
    console.log(this.lorem);
}

严肃地说,你的问题不够明确,无法得到可靠回答。

答案 1 :(得分:1)

如果您想将它们分开:

function foo() {
  this.lorem = 'ipsum';
  boo(this);
}

function boo(element) {
  console.log(element.lorem);
}

答案 2 :(得分:1)

在相同的背景下包裹它们:

var myClass = {
    foo: function foo() {
        this.lorem = 'ipsum';
        this.boo();
    }, boo: function boo() {
        alert(this.lorem);
    }
};

然后激活foo

myClass.foo();

Live test case

答案 3 :(得分:0)

function foo() {
  this.lorem = 'ipsum';
  boo.call(this);
}

function boo() {
  console.log(this.lorem);
}

foo();

答案 4 :(得分:0)

如果您不想修改现有功能,请执行以下操作:

function foo() {
  this.lorem = 'ipsum';
}

function boo() {
  console.log(this.lorem);
}


function bar() {
    boo.call(new foo);
}

bar();

这是一个正在运行的JSFiddle: http://jsfiddle.net/8Wb6T/