关于SyntaxError: unterminated string literal的问题

fancycgx3650 2011-07-10 05:23:39
var a=[];
var x=1;
var y=2;
a.push({m:"1",n:"2"});
a


var a=[];
var x=1;
var y=2;
var str=a+'.push({m:'+x+'n:'+y+')}
eval(str);


为什么第一种可以,第二种会报错"SyntaxError: unterminated string literal"呢
...全文
2184 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
豆虫 2011-07-10
  • 打赏
  • 举报
回复
var str=a+'.push({m:'+x+'n:'+y+')}
这么写js怎么认得 呵呵~~~~
var str = 'a.push({m:' + x + ',n:' + y + '})';
eval(str)
这样就好了 不过就像楼上说的 为什么要eval啊 直接push不就得了么

乌镇程序员 2011-07-10
  • 打赏
  • 举报
回复
var a=[];
var x=1;
var y=2;
a.push({m:x,n:y}); //这样不就行了,为什么要用eval()
乌镇程序员 2011-07-10
  • 打赏
  • 举报
回复
var str = 'a.push({m:' + x + ',n:' + y + '})';
eval(str);

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧