1. 程式人生 > >動態拼接JS時傳遞物件

動態拼接JS時傳遞物件

    動態拼接HTML、JS時,經常需要傳遞物件,比如<input type='button' onclick='clickme(' + obj + ')';

這個時候,obj是做為字串來拼接的,而不是做為物件,當obj為數字、字串時,clickme函式是可以

正確執行的,但是當obj為物件是,這個時候拼接出來的字串就成了clickme([object Object]),這個時候

就會報JS錯誤,在不同瀏覽器下表現也不一樣,比如:

SyntaxError: missing ] after element list,

Uncaught SyntaxError: Unexpected identifier

等。

   也就是說,動態拼接JS時,不可以直接傳遞物件, 解決方法:拼裝JS時,物件轉成JSON字串再傳

就可以解決這個問題,比如:

   <input type='button' onclick='clickme(' + JSON.stringify(obj) + ')';