HTML与JS
// js
var str = '<div class="zu-global-notify" id="zh-global-message">';
<input value="Test" type="button" οnclick="alert(""OK"");" />
IE提示出错后,再漫不经心地改为:
<input value="Test" type="button" οnclick="alert(\"OK\");" />
结果还是出错。
这时,我就想不通了,虽然我知道最直接的解决方法是写成这样:<input value="" type="button" οnclick="alert('OK');" />
但为什么javascript中的转义字符\没有效果了呢?
后来找到一段正常的代码:
<input value="Test" type="button" οnclick="alert("OK");" />
这时才理解,是归于HTML的管辖范围,所以转义字符应该使用HTML的,而不是javascript的。
\"这种做法则是javascript的。而HTML的,则是用",此外还可以使用:"、'。
下面列出各种表达方法:(摘自点击打开链接)
<html>
<body>
<input value="外双引号内双引号-错误"type="button"οnclick="alert("OK");" /><br />
<inputvalue="\+双引号-错误" type="button"οnclick="alert(\"OK\");" /><br />
<inputvalue="其它\\-错误" type="button"οnclick="alert(\\"OK\\");" /><br />
<inputvalue="其它\& # 3 4 ;-错误" type="button"οnclick="alert(\"OK\");" /><br />
<input value="外双引号内单引号-OK" type="button"οnclick="alert('OK');" /><br />
<input value="外单引号内单引号-错误" type="button"οnclick='alert('OK');' /><br />
<input value="外单引号内双引号-OK" type="button"οnclick='alert("OK");' /><br />
<input value="\+单引号-错误" type="button"οnclick="alert(\'OK\');" /><br />
<input value="两个双引号-错误" type="button"οnclick="alert(""OK"");" /><br />
<input value="两个单引号-错误" type="button"οnclick="alert(''OK'');" /><br />
<input value="外部不使用引号-OK" type="button"οnclick=alert('OK');alert("OK"); /><br />
<input value="HTML 转义字符 '(& # 3 9;)-OK" type="button" οnclick="alert('OK');"/><br />
<input value="HTML 转义字符 "(& # x 2 2;)-OK" type="button" οnclick="alert('OK');"/><br />
<input value="HTML 转义字符 '(& # x 2 7;)-OK" type="button" οnclick="alert('OK');"/><br />
<input value="HTML 转义字符 "(& q uo t ;)-OK" type="button"οnclick="alert("OK");" /><br />
<input value="HTML 转义字符 '(& a po s ;)-IE 错误 "type="button" οnclick="alert('OK');" /><br/>
</body>
</html>
JSON
JSON中的键值对,JSON需要遵循的两个原则:(因为很多语言只能解析双引号的格式,为了接口通用性,必须使用双引号来包围key和value)
- 字符串必须使用双引号,字符串字面量如'str'是无效的。
- 属性键也必须使用双引号。
>JSON.parse("'String'")
SyntaxError:Unexpected token ILLEGAL
>JSON.parse('"String"')
'String'
>JSON.parse('{"hello":123,"world":456}')
{hello:123,world:456}
>JSON.parse('{"hello":"123","world":"456"}')
{hello:"123",world:"456"}