Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript eval不在IE8中工作_Javascript - Fatal编程技术网

Javascript eval不在IE8中工作

Javascript eval不在IE8中工作,javascript,Javascript,我找不到这个小代码段在IE8中不起作用的原因 var a = {"ff": "test"}; eval('('+a+')'); 我得到的错误是 “]'预期” 当连接对象a以形成eval'd字符串的一部分时,将调用a.toString(),它将输出[对象对象]。您需要的是将{“ff”:“test”};连接到eval'd字符串中,因此需要使用JSON.stringify() 试试这个: eval('('+JSON.stringify(a)+')'); 或者,您也可以在第一行的对象声明周围加引号:

我找不到这个小代码段在IE8中不起作用的原因

var a = {"ff": "test"};
eval('('+a+')');
我得到的错误是

“]'预期”


当连接对象
a
以形成eval'd字符串的一部分时,将调用
a.toString()
,它将输出
[对象对象]
。您需要的是将
{“ff”:“test”};
连接到eval'd字符串中,因此需要使用
JSON.stringify()

试试这个:

eval('('+JSON.stringify(a)+')');
或者,您也可以在第一行的对象声明周围加引号:

var a = '{"ff": "test"}';
评估如下:

([object Object])
这显然是无效的JavaScript。如果您想保留数据结构,可以使用
JSON.stringify()
JSON.parse()


这段代码在其他浏览器中运行吗?应该如何运行?试着打印出你在这里评估的内容。它应该做什么?@diEcho Dam,你打败了我这会做什么?额外的括号是什么意思?它们已经是问题的一部分了,我不知道他是否有正确的理由这么做。
([object Object])
var a_to_json = JSON.stringify(a);
var a_from_json = JSON.parse(a_to_json);