Javascript 正在使用类。在原型中创建。。。无法访问内部函数
我正在尝试使用名称空间来更好地组织我的站点,这是非常复杂的代码。我有:Javascript 正在使用类。在原型中创建。。。无法访问内部函数,javascript,oop,namespaces,prototypejs,Javascript,Oop,Namespaces,Prototypejs,我正在尝试使用名称空间来更好地组织我的站点,这是非常复杂的代码。我有: var myApp = {}; myApp.fp = { brandCarousel: null, init: function() { // initialize brand carousel this.brandCarousel = new Pluit.Carousel('brand-scroll-outer', { circular: false });
var myApp = {};
myApp.fp = {
brandCarousel: null,
init: function() {
// initialize brand carousel
this.brandCarousel = new Pluit.Carousel('brand-scroll-outer', { circular: false });
}
};
document.observe("dom:loaded", function() { myApp.fp.init(); });
我正在使用prototype 1.7和Pluit Carousel库
如果我试图通过键入以下内容调用Pluit Carousels方法之一(moveNext):
myApp.fp.brandCarousel.moveNext()
我得到一个JavaScript错误:
TypeError:对象#没有方法“moveNext”
当涉及范围或名称空间时,我是否有什么地方出错了?如何访问此内部函数?您的特定示例似乎没有什么特别错误(除了它在
myApp
和masApp
之间切换(打字?)。下面是一个简单的虚拟示例,说明您的方法是有效的(并且您的问题必须在另一个位置):
以上代码提醒
正在移动代码>如预期。嗯。。。我想这一定与Pluit旋转木马的设置有关。我能稍微修改一下脚本,让它做我需要的事情。谢谢
var myApp = {};
myApp.fp = {
brandCarousel: null,
init: function() {
// initialize brand carousel
this.brandCarousel = new (function() {
this.moveNext = function() {
alert("moving!");
};
})
}
};
myApp.fp.init()
myApp.fp.brandCarousel.moveNext()