我想在Javascript中探索經過戰鬥測試,經過驗證的設計模式,確保只依賴一次加載(如果已加載)&僅在DOM中實例化對象一次。什麼是最好的方法加載依賴和實例化對象只有一次在Javascript中?
具體而言,我有以下:
// Block A in the DOM
<script>
//instantiate my golden object as follows
var some_unique_options = {
"option1": "some-val",
"option2": "some-val"
}
$.ajaxSetup({cache:true});
$.getScript('my_golden_script.js', function(){
golden_object.init(some_unique_options);
});
</script>
// Block B in the DOM
<script>
//instantiate my golden object as follows
var another_unique_options ={
"option1": "some-val",
"option2": "some-val"
}
$.ajaxSetup({cache:true});
$.getScript('my_golden_script.js', function(){
golden_object.init(another_unique_options);
});
</script>
目前,我的golden_object
實現一個單按:http://robdodson.me/javascript-design-patterns-singleton/
預期行爲這裏的是,當上述博克甲&乙在執行從上到下塊B中的DOM golden_object.init
將利用在塊A的操作期間定義的資源。業務需求如此,塊A & B將是相同的,並且DOM中可能存在更多。經過幾天的研究,我仍然無法提出一個堅實的結構。我的單身不斷重新創建自己作爲新的,只有當我在devtools控制檯調用golden_object.init();
,它會使用DOM中的現有對象。我怎樣才能讓它按照它應有的方式工作?我在這裏犯了什麼/在哪裏?
僅供參考,不golden_object.js
攜帶$.fn.someOtherObj
&夫婦依賴通過$.getScript()
以及單身的定義(我想辛格爾頓OBJ是用戶界面)
百萬感謝您的見解&建議!