Javascript IE10没有';不能正确解析JSON
我已经使用JSFIDLE将问题简化为基本问题: 这将正确解析Firefox和Chrome中的简单JSON字符串,但在IE8、IE9和IE10中返回一个空对象(不管使用的JSON字符串如何)。我还没有尝试IE11Javascript IE10没有';不能正确解析JSON,javascript,json,internet-explorer,Javascript,Json,Internet Explorer,我已经使用JSFIDLE将问题简化为基本问题: 这将正确解析Firefox和Chrome中的简单JSON字符串,但在IE8、IE9和IE10中返回一个空对象(不管使用的JSON字符串如何)。我还没有尝试IE11 无论我是否加载Crockford的JSON2.js库,都会发生这种情况。简短回答:不使用变量名“event”而不使用var:-)简短回答:不使用变量名“event”,而不使用var:-)简短回答:不使用变量名“event”不使用var:-)在本地声明变量名。简短回答:在Internet
无论我是否加载Crockford的JSON2.js库,都会发生这种情况。简短回答:不使用变量名“event”而不使用var:-)简短回答:不使用变量名“event”,而不使用var:-)简短回答:不使用变量名“event”不使用var:-)在本地声明变量名。简短回答:在Internet Explorer
窗口中,如果不使用var:-)在本地声明变量名,请不要使用变量名“event”。
表示事件的状态,例如
事件发生时,键盘键的状态、
鼠标,以及鼠标按钮的状态
无法将其分配给
没有var
,代码event=JSON.parse(“{”var:“value”}”)代码>尝试分配给窗口。事件
,这是不允许的
更改为对var使用不同的变量名或前缀event,以便代码读取:var event=JSON.parse(“{”var:“value”}”)代码>
在Internet Explorer的窗口中。事件
表示事件的状态,例如
事件发生时,键盘键的状态、
鼠标,以及鼠标按钮的状态
无法将其分配给
没有var
,代码event=JSON.parse(“{”var:“value”}”)代码>尝试分配给窗口。事件
,这是不允许的
更改为对var使用不同的变量名或前缀event,以便代码读取:var event=JSON.parse(“{”var:“value”}”)代码>
在Internet Explorer的窗口中。事件
表示事件的状态,例如
事件发生时,键盘键的状态、
鼠标,以及鼠标按钮的状态
无法将其分配给
没有var
,代码event=JSON.parse(“{”var:“value”}”)代码>尝试分配给窗口。事件
,这是不允许的
更改为对var使用不同的变量名或前缀event,以便代码读取:var event=JSON.parse(“{”var:“value”}”)代码>
在Internet Explorer的窗口中。事件
表示事件的状态,例如
事件发生时,键盘键的状态、
鼠标,以及鼠标按钮的状态
无法将其分配给
没有var
,代码event=JSON.parse(“{”var:“value”}”)代码>尝试分配给窗口。事件
,这是不允许的
更改为对var使用不同的变量名或前缀event,以便代码读取:var event=JSON.parse(“{”var:“value”}”)代码>
如果将变量设置为局部变量,即使用var事件…
会发生什么?另外,哪个表达式确切地生成空对象?你是说alert(event.var)
打印一个空对象吗?这不太可能。它在IE9和IE10的开发工具控制台中工作,但你是对的,当页面加载到小提琴上时,它显示为未定义。在开发工具控制台中,它只为我显示{}!刚刚用IE11测试了一下,得到了同样的结果。真奇怪。。。我甚至把代码复制到一个本地脚本中,效果很好。@Nicolas:你是说console.log(JSON.stringify(event))代码>显示空对象?那不是解析,而是将对象转换为JSON(字符串化)!请澄清您的问题。如果将变量设置为局部变量,即使用var事件…
,会发生什么情况?另外,哪个表达式确切地生成空对象?你是说alert(event.var)
打印一个空对象吗?这不太可能。它在IE9和IE10的开发工具控制台中工作,但你是对的,当页面加载到小提琴上时,它显示为未定义。在开发工具控制台中,它只为我显示{}!刚刚用IE11测试了一下,得到了同样的结果。真奇怪。。。我甚至把代码复制到一个本地脚本中,效果很好。@Nicolas:你是说console.log(JSON.stringify(event))代码>显示空对象?那不是解析,而是将对象转换为JSON(字符串化)!请澄清您的问题。如果将变量设置为局部变量,即使用var事件…
,会发生什么情况?另外,哪个表达式确切地生成空对象?你是说alert(event.var)
打印一个空对象吗?这不太可能。它在IE9和IE10的开发工具控制台中工作,但你是对的,当页面加载到小提琴上时,它显示为未定义。在开发工具控制台中,它只为我显示{}!刚刚用IE11测试了一下,得到了同样的结果。真奇怪。。。我甚至把代码复制到一个本地脚本中,效果很好。@Nicolas:你是说console.log(JSON.stringify(event))代码>显示空对象?那不是解析,而是将对象转换为JSON(字符串化)!请澄清您的问题。如果将变量设置为局部变量,即使用var事件…
,会发生什么情况?另外,哪个表达式确切地生成空对象?你是说alert(event.var)
打印一个空对象吗?这不太可能。它在IE9和IE10的开发工具控制台中工作,但你是对的,当页面加载到小提琴上时,它显示为未定义。在开发工具控制台中,它只为我显示{}!刚刚用IE11测试了一下,得到了同样的结果。真奇怪。。。我甚至把代码复制到一个本地脚本中,效果很好。@Nicolas:你是说console.log(JSON.stri)吗