2013-10-27 30 views
0

我的代碼是:使用PHP來正確編寫基於設置變量的多行JavaScript代碼?

<script type="text/javascript"> 
    var clicky_custom = clicky_custom || {}; 
    clicky_custom.visitor = { 
    username: 'bobjones', 
    email: '[email protected]' 
    }; 
    clicky_custom.visitor_keys_cookie = ['username', 'email']; 
</script> 

你知道,如果要添加另一行,你需要把一個逗號上的所有線路除了最後一個?例如,在bob下面顯示的逗號。如果不是最後一行,我如何才能添加逗號?

+3

如果您使用PHP創建Javascript文字,您應該使用'json_encode()'而不是自己編寫它。 – Barmar

+0

如果在循環中生成以逗號分隔的列表,我通常會在每次迭代中添加一個逗號,然後在循環之後將結果的子字符串減去最後一個字符。但是,如果語言可以爲你做(例如,用'json_encode()')把這個選項作爲第一選擇。 – nnnnnn

回答

0

首先,對於ES5中的對象,可以留下尾隨的逗號。檢查出this answer欲知更多信息。

至於你的問題,這實際上取決於信息如何傳達給你。你可以做的一件事是使用逗號分隔符的數組implode。然而,你最好的選擇是使用json_encode將你的PHP數組編碼爲JSON對象,這將很好地用作Javascript對象。該函數將輸出一個字符串,您可以直接將其放入腳本中。

+1

_「首先,對於ES5中的對象,您可以留下一個尾隨的逗號。」_ - 雖然仍然有很多IE8用戶,所以... – nnnnnn

+0

當然,您是對的!只是認爲這是相關的信息。 – Evan

相關問題