此代码给出了一个错误:
$(function(){
var instance = new object();
literal.call();
});
var literal ={
call : function(){
instance.foo();
}
}
function object(){
this.selector = $('div');
this.foo = function(){ this.selector.remove(); }
}
我想让它运行,我想让$(function(){})中的文字对象出来。我不想在以后更改选择器。
所以我放弃了这个解决方案
$(function(){
instance.selector = $('div');
literal.call();
});
var instance = new object();
var literal ={
call : function(){
instance.foo();
}
}
function object(){
this.selector = $('div');
this.foo = function(){ this.selector.remove(); }
}
我也放弃了这个
$(function(){
var instance = new object();
var literal ={
call : function(){
instance.foo();
}
}
literal.call();
});
function object(){
this.selector = $('div');
this.foo = function(){ this.selector.remove(); }
}
这样做的最佳做法是什么?
答案 0 :(得分:1)
您的问题是istance
变量是就绪处理程序的本地变量。由于您不想在那里移动代码(无论出于何种原因),您需要将变量设置为全局:
var istance;
$(function(){
istance = new object();
literal.call();
});
var literal = {
call: function() {
istance.foo();
}
}
function object(){
this.selector = $('div');
this.foo = function(){ this.selector.remove(); }
}