好吧,据我了解我的代码,我创建了一个promoSlides对象,我是一个名为init的私有函数,并返回一个js闭包(我不太熟悉),我返回了init,因此我可以在全局外使用它的。当我运行该文件时,我得到的promoSlides是未定义的,说错误控制台的FF。我不确定我出错的地方。我对此很陌生,所以可能有些错误。哦,幻灯片被定义在我的原始文档中,但我为了简单起见而将其取出为什么我的JS应该返回一个对象返回undefined?
var Slider = (function (name) {return name;}(Slider || {}));
Slider.promoSlides = (function()
{
var slides;
var init = function(s)
{
slides = s;
sortSlides();
startTimer();
addListeners();
};
return
{
init : function a(s)
{
init(s);
}
};
})();
$(document).ready(function(){
Slider.promoSlides.init(slides);
});
“我定义的私有函数[...]所以我可以用它在全球范围之外的一种”:“全球范围内使用”和“私人函数“通常是相互排斥的概念;) –
查看http://blog.izs.me/post/2353458699/an-open-letter-to-javascript-leaders-regarding对分号插入规则的好评以及JavaScript中的换行礼仪。 –