var App = function(){
this.data = [1,2,3]
}
App.prototype._method = (function(){
return {
getData: function(){
return this.data;
},
setData: function(val){
this.data.push(val)
}
}
})();
我想问一下,对于_method属性下的方法如何指定this为App的实例对象?
var app = new App();
app._method.getData.call(app);
以上是一种方法。
我想问的是:如何实现
app._method.getData(); // 直接调用,不需要写call。最好在定义这些方法时实现,不要在定义完后,再通过bind()方法实现。(当然,也不要将_method内的各个方法直接挂载在prototype)
var App = function(){
function _App_(){
this.data = [1,2,3];
}
var tAPP=new _App_();
function App1(){
}
App1.prototype= tAPP;
App1.prototype._method=(function(){
var self=tAPP;
return {
getData: function(){
return self.data;
},
setData: function(val){
self.data.push(val)
}
}
})();
return new App1();
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。