關於js當雙引號和單引號同時出現


      今天發生了有意思的一件事情,寫代碼這么久,其實這個東西很常見,但是從來沒關注過,也沒深究。今天又出現,然后思考了一下,才發現單引號和雙引號居然有差別。

  以前一直以為單引號和雙引號一樣,只要開始和結束都用同一種就行。

  先上代碼:

  先做了一個拼湊字符串:var data_str = "{'name':'張三','age':'20'}";

                   然后轉成json對象:var data_obj = eval('(' + data_str+ ')');

     以上是我以前一直使用的寫法,沒出過錯,每次我用JSON.parse( data_str )會報錯。

  但是有時候使用拼接的字符串卻能使用 JSON.parse( )  ,隨讓當時有點想不通,但是也沒多探究,就覺得要么eval要么 JSON.parse ,總有一個是對的。

  然而今天eval始終有問題,我一臉懵逼,不知道什么原因,JSON.parse( )也不能使用,然后查找了很多資料,才知道當單引號和雙引號一起用的時候特別要注意!

  " "雙引號里面的字段會經過編譯器解釋,然后再當作HTML代碼輸出;而' '單引號里面的不進行解釋,直接輸出。

  工作這么久,現在才知道,有點傻逼。不過今天確實把這個問題解決了。

  以后json格式嚴格按照 {"name":"lihua","age":20} 來寫。假如要拼湊的話,在外面添加單引號。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM