js转义问题有不少场景,好比常见的根据某个字符串删除或者修改以及将某字符串传递至某个页面。
今天以一个简单的示例代码为例:html
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>测试</title> </head> <body> <a href='#' onclick="test001(1)">测试001</a> <a href='#' onclick="test002(你好)">测试001</a> <script> function test001(id){ alert(id); } function test002(name){ alert(name); } </script> </body> </html>
页面效果图以下:测试
当我点击测试001时,出现如图:ui
显然是符合预期结果的。spa
可是当我点击测试002时,出现如图:3d
什么也没有出现,因而我经过f12调试了一下,结果如图:调试
显示某某未定义code
那么最终如何解决这个你好 is not defined问题???
一般出现未定义问题,是由于咱们用了这个变量,可是并无在对应的js文件中定义。htm
解决这个你好 is not defined问题,很简单,只需加一个转义符便可。blog
好比将:ip
<a href='#' onclick="test002(你好)">测试001</a>
修改成:
<a href='#' onclick="test002('\你好')">测试001</a>
接下来,点击测试002,就能够看到对应的效果,如图:
那么为何会出现这个转义问题?我搜了一些资料,可是仍然以为很疑惑。