关于js当双引号和单引号同时出现
2017-04-17 15:38
232 查看
今天发生了有意思的一件事情,写代码这么久,其实这个东西很常见,但是从来没关注过,也没深究。今天又出现,然后思考了一下,才发现单引号和双引号居然有差别。
以前一直以为单引号和双引号一样,只要开始和结束都用同一种就行。
先上代码:
先做了一个拼凑字符串:var data_str = "{'name':'张三','age':'20'}";
然后转成json对象:var data_obj = eval('(' + data_str+ ')');
以上是我以前一直使用的写法,没出过错,每次我用JSON.parse( data_str )会报错。
但是有时候使用拼接的字符串却能使用 JSON.parse( ) ,随让当时有点想不通,但是也没多探究,就觉得要么eval要么 JSON.parse ,总有一个是对的。
然而今天eval始终有问题,我一脸懵逼,不知道什么原因,JSON.parse( )也不能使用,然后查找了很多资料,才知道当单引号和双引号一起用的时候特别要注意!
" "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出;而' '单引号里面的不进行解释,直接输出。
工作这么久,现在才知道,有点傻逼。不过今天确实把这个问题解决了。
以后json格式严格按照 {"name":"lihua","age":20} 来写。假如要拼凑的话,在外面添加单引号。
以前一直以为单引号和双引号一样,只要开始和结束都用同一种就行。
先上代码:
先做了一个拼凑字符串:var data_str = "{'name':'张三','age':'20'}";
然后转成json对象:var data_obj = eval('(' + data_str+ ')');
以上是我以前一直使用的写法,没出过错,每次我用JSON.parse( data_str )会报错。
但是有时候使用拼接的字符串却能使用 JSON.parse( ) ,随让当时有点想不通,但是也没多探究,就觉得要么eval要么 JSON.parse ,总有一个是对的。
然而今天eval始终有问题,我一脸懵逼,不知道什么原因,JSON.parse( )也不能使用,然后查找了很多资料,才知道当单引号和双引号一起用的时候特别要注意!
" "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出;而' '单引号里面的不进行解释,直接输出。
工作这么久,现在才知道,有点傻逼。不过今天确实把这个问题解决了。
以后json格式严格按照 {"name":"lihua","age":20} 来写。假如要拼凑的话,在外面添加单引号。
相关文章推荐
- js “+” 连接字符串&数字相加 数字相加出现多位小数 函数调用单引号双引号嵌套和转义字符的使用
- 关于SQL语句中的双引号、单引号和&
- 关于SQL语句中的双引号、单引号和&-------asp.net
- 关于在js、html中的单双引号的问题汇总(引用)
- js、html中的单引号、双引号及其转义使用(转)
- js、html中的单引号、双引号及其转义使用
- 服务端控件验证与自己写的javascript验证函数同时存在时出现的冲突问题(RequiredFieldValidator&JS)
- 关于js处理ajax请求返回json数据时出现页面缓存的解决方案(适用于showdialog)
- 关于ASP.NET与JS传值出现乱码的解决方法
- JS中单引号与双引号的一个区别
- IE关于js new Date() 出现NaN 的分析
- 关于输入框中显示双引号和单引号
- asp.net中关于&,双引号和单引号的用法
- 关于引用js文件中出现乱码问题的解决方案
- php、asp.net关于后台设置的cookie前台JS获取时出现中文乱码问题解决
- 关于SQL语句中的双引号、单引号和&
- asp,asp.net中关于双引号和单引号的用法
- 关于输入框中显示双引号和单引号
- 关于js new Date() 出现NaN 的分析
- asp.net中关于双引号和单引号的用法