我有一个与此类似的javascript函数
function myFunction(){
// *** WOULD LIKE TO CALL changeColor HERE *** //
this.changeColor = function(){
};
}
就像评论说我想调用changeColor
我尝试过.changeColor()和其他一些变化,但我无法弄清楚。任何帮助将不胜感激。
答案 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;
}