1.JS是壹種腳本語言。妳調用的對象其實只在源代碼階段。當這個語法文本被腳本引擎解釋時,對象將在存儲器中生成。是否符合語法取決於腳本引擎。
2.JSON不是壹種語言,它只是壹種表達數據的方式。在某種程度上,JSON和XML沒什麽區別。
LZ之所以會有這樣的疑惑,是因為對數據的理解出現了偏差。對於JS的字面量來說,這個文本只是代碼的壹部分,相當於壹個指令,而JSON文本本身就代表了數據。兩者的相似之處在於,看起來都像數據,又恰好都是文本;不同的是,JSON的文字文本是由腳本引擎直接解析的,而JSON的文本,如果要轉換成JS對象,則交給eval函數處理,所以如何理解JSON的文本取決於這個函數,而不是腳本引擎,因為兩者的處理完全不是壹個層次的。
另外,JS必須交給JS腳本引擎處理,而JSON字符串可以被任何程序處理。至於引號的問題,就看JSON解析器的容忍度了。如果妳願意,也可以根據自己的意願寫壹個解析器,可以容忍不寫引號、單引號/雙引號,甚至任何其他符號作為邊界符號。