[新着] Webテンプレートを仮オープンしました
<input type="button" value="ボタン" onclick="a('引数')">のような関数a()に引数を渡すときなど、たとえば引数に'と"が使われている場合どうやってエスケープするのでしょうか?A、<input type="button" value="ボタン" onclick="alert(´あ´)">B、<input type="button" value="ボタン" onclick="alert('あ')">でやって見たらAはエラーになるのでシングルコーテーションでは無いのではないかと思うのですがどうでしょう。ネットでも調べましたが違うと思われます(自信なし)。
<script type="text/javascript">function a (s) { return s; }</script>
<!-- "Is's a pen." -->
<p onclick="alert (a ('"It\'s a pen."'));">TEST</p>
<p onclick="alert (a ('"It\'s a pen."'));">TEST</p>
<p onclick="alert (a ('"It\'s a pen."'));">TEST</p>
<p onclick="alert (a ('"It\'s a pen."'));">TEST</p>
<p onclick="alert (a ('\u0022It\u0027s a pen.\u0022'));">TEST</p><p onclick="alert (a ('"It\'s a pen."'));">TEST</p>がきちんと動作するのは、<p onclick="alert (a ('"It\'s a pen."'));">TEST</p>となっているのでエラーにならず、次にJAVASCRIPTが実行されるとき(onclick時)には、alert (a ('"It\'s a pen."'));となるからと言う事でいいのでしょうか?<p onclick="alert (a ('"It\'s a pen."'));">TEST</p>と評価されるのではなくalert (a ('"It\'s a pen."'));が評価の対象になるのでエラーにならないと言う事でしょうか?onclick="alert ('I said, \"It\'s a pen.\"'); "onclick="alert ('I said, \"It\'s a pen.\"'); "onclick="alert ('I said, "It\'s a pen."'); "
↓
alert ('I said, "It\'s a pen."');onclick="alert ('I said, \u0022It\'s a pen.\u0022'); "