从自己调用javascript函数

时间:2014-01-28 20:00:13

标签: javascript function

我有一个与此类似的javascript函数

function myFunction(){
    // *** WOULD LIKE TO CALL changeColor HERE *** //
    this.changeColor = function(){
    };
}

就像评论说我想调用changeColor

我尝试过.changeColor()和其他一些变化,但我无法弄清楚。任何帮助将不胜感激。

5 个答案:

答案 0 :(得分:4)

要运行一个函数,只需将其写为:

function myFunction(){
  // referencing to the function
  changeColor();
  function changeColor() {
    // here would be the code!
  };
}

答案 1 :(得分:0)

你可以这样做:

function myFunction(){
    this.changeColor = changeColor;
}

function changeColor(){
    //your code
}

调用你可以做的功能:

var myfunction = new myFunction();
myfunction.changeColor();

答案 2 :(得分:0)

这取决于你可能会做什么,但听起来关键是要理解“这个”是如何工作的,以及如何确定它的范围。请考虑以下事项:

function initialClass() {

    // private members (closures)
    var _color = "blue";
    function privateMethod() {
        alert(this.color());
    }

    // public members
    this.color = function (vInput) {
        if (vInput === undefined) {
            return _color;
        }
        else {
            _color = vInput;
            privateMethod.call(this);
            return;
        }
    };

    }

    function partialClass() {

    // private members (closures)
    var _size = "large";

    // public member
    this.size = function (vInput) {
        if (vInput === undefined) {
            return _size;
        }
        else {
            _size = vInput;
            return;
        }
    };

    }

    var oMyObject = new initialClass();
    partialClass.call(oMyObject);

    oMyObject.color('orange');
    oMyObject.size();

答案 3 :(得分:-2)

假设您正在尝试制作对象:

function myFunction(){
    function changeColor(){
    };
    changeColor();
    // *** WOULD LIKE TO CALL changeColor HERE *** //
    this.changeColor = changeColor;
}

您现在可以执行以下操作:

var test = new myFunction(); // calls changeColor
test.changeColor();

答案 4 :(得分:-3)

尝试将其分配给这样的变量:

function myFunction(){
    var changeColor = function(){
        changeColor();
    };
    this.changeColor = changeColor;
}