我想在textarea中編輯JavaScript並將其存儲回JavaScript對象。例如,我有這樣的對象:將JavaScript源代碼存儲在json對象中的正確方法是什麼?
var item1 = {
'id' : 1,
'title':'title',
'sourcecode' : "alert('hallo')"
};
如果我將內容更改爲alert("hallo")
或更爲複雜的例子這是否破壞我的對象嗎?
我覺得有一些像這樣的https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/escape逃生功能。但它被標記爲已棄用。
因此,如果這被棄用,將複雜JavaScript代碼存儲到JavaScript對象中的正確方法是什麼?
我應該使用stringify嗎?
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
的JSON.stringify()方法一個JavaScript值轉換爲JSON 串,如果指定了替換器功能 任選取代的值,或可選地包括僅當 代用品指定的屬性數組被指定。
這不念想有在自動逃生構建。
''alert('hallo')「'只是一個字符串。在將它傳遞給'JSON.stringify'之前,您可以像其他任何字符串一樣將其轉義。 ' 「警報(\」 你好\ 「)」'。值得注意的是,它實際上並不需要轉義,因爲它使用單引號 – CodingIntrigue
是的,它是一個非常簡單的例子,因爲我想存儲更復雜的代碼,其中混合使用雙重和單個qoutes。所以你的意思是stringify將是正確的方式? – svenhornberg
這很好。關鍵是,* source *會轉義。無論你在哪裏*創建* item1並設置'sourcecode'屬性。是的,'JSON.stringify'將創建該對象的JSON字符串表示形式 – CodingIntrigue