今天在做JAVASCRIPT的時候,發(fā)現(xiàn)老是出現(xiàn)”未結(jié)束的字符串常量”.
自己找了下應(yīng)該是傳參數(shù)的時候,有特殊字符引起的.網(wǎng)上也找了下,也有好多出現(xiàn)這種情況.做下總結(jié),以方便以后查閱.
1.JAVASCRIPT引用時,使用的字符語言不一致.
比如:<script type=”text/javascript” src=”xxx.js” charset=”UTF-8″>.xxx.js文件內(nèi)部使用的是GB2312的格式,外面調(diào)用使用的是UTF-8,所以文件內(nèi)部部分特殊字符因?yàn)楦袷讲灰恢?出現(xiàn)亂碼,造成此原因.
2.JAVASCRIPT輸出HTML字符時,前后標(biāo)記不匹配.
這種比較常見,往往在輸出字符串時,出現(xiàn)單引號(’)或雙引號(”)不配對,或者是在document.write()的時候,沒有正確輸出單引號(’)或雙引號(”)
3.參數(shù)內(nèi)出現(xiàn)HTML標(biāo)記語言或包含換行符
我今天所遇到的是這種情況.因?yàn)槲宜玫降臄?shù)據(jù)以參數(shù)形式傳給一函數(shù),結(jié)果該數(shù)據(jù)里包含換行符,造成了此錯誤.
如:一般測試時只使用單行的數(shù)據(jù),是正常的,未出現(xiàn)這個錯誤,.
當(dāng)測試時使用多行數(shù)據(jù),并使用回車鏈換行,就出行了此錯誤.因?yàn)槔锩姘藫Q行符
對于第3種情況,我的解決方法是:不直接將該數(shù)據(jù)以參數(shù)形式傳遞,而是先將其賦值在一個隱藏的文本內(nèi),需要調(diào)用的函數(shù)里只需讀取該文本里的內(nèi)容即可.
轉(zhuǎn) http://www.javaeye.com/topic/400721