好吧,據我瞭解我的代碼,我創建了一個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中的換行禮儀。 –