我找到了这个JS代码结构,而且我发现了想知道如何从函数load中调用函数move():
JS
function Start(data) {
this.move= function() {
....
};
function load(){
// call move
}
}
答案 0 :(得分:4)
function Start(data) {
var _this = this;
this.move = function() {
console.log('mode');
}
function load() {
_this.move();
}
// load();
}
Start();
new Start();
答案 1 :(得分:2)
function Start(data) {
this.move = function() {
....
};
function load(obj) {
obj.move();
}
load(this);
}
答案 2 :(得分:1)
必须将函数Start()
实例化为对象。所以你会使用:
function Start(data) {
this.move = function() {
....
};
this.load = function(){
// call move
this.move();
}
}
var s = new Start(foobar);
s.load();
答案 3 :(得分:1)
这是一个javascript闭包。我发现this 网站很有帮助。
var move = function () {
alert("move");
};
load();
function load() {
move();
}
此代码只会alert Move
一次。
答案 4 :(得分:1)
通过使用闭包,可以通过存储父引用来实现;
function Start(data) {
var me = this;
this.move= function() {
....
};
function load(){
me.move();// call move
}
}
祝你好运。