我需要編程生成多個<script>
標籤,除了參數不同之外,每個標籤幾乎都是相同的。因此,例如:多個<script>標籤,每個都有自己的作用域
<script>
function foo() { console.log('1'); }
/* lots of very complicated code which calls foo() */
</script>
<script>
function foo() { console.log('2'); }
/* lots of very complicated code which calls foo() */
</script>
在這個例子中所述第一腳本具有「1」的參數值,以便將其產生的代碼打印「1」到控制檯,而第二腳本具有「2」的參數值。
我知道這個問題到目前爲止會冒犯許多優秀的程序員的敏感性。這當然是非常簡單的,我需要這樣做的原因超出了這個問題的範圍。
據我所知,這些<script>
標籤將共享全局範圍,所以它們的foo
實現將會發生衝突。一種修復方法是單獨命名它們,例如foo1
和foo2
。事實上,我有很多這樣的功能,我想知道是否有更好的方法。
是否有一種很好的方法可以將每個<script>
標記放在其自己的範圍內,以便foo
實現不會發生衝突?我寧願在沒有任何單獨的庫或預處理等的情況下執行此操作 - 只需使用原生JavaScript。
'$(」 SomeClass的。 ').click(foo)' - 只需以這種方式附加處理程序。 – zerkms
@zerkms會更簡單,但我不認爲這是OP的問題 –
@AmitJoki什麼是OP的問題呢? – zerkms