Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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对象和internet explorer_Javascript_Internet Explorer_Object - Fatal编程技术网

Javascript对象和internet explorer

Javascript对象和internet explorer,javascript,internet-explorer,object,Javascript,Internet Explorer,Object,我有以下代码: jsonObj = []; $("#test").find('.data').each(function() { var description = $(this).find('.description').val(); var food = $(this).find('.food').val(); item = {} item ["description"] = description; item ["food"] = food;

我有以下代码:

 jsonObj = [];
 $("#test").find('.data').each(function() {

    var description = $(this).find('.description').val();
    var food = $(this).find('.food').val();

    item = {}
    item ["description"] = description;
    item ["food"] = food;

    jsonObj.push(item);
});
Internet explorer 11插入空/空值。
当然,它在chrome firefox甚至edge中都能很好地工作,我可以使用IE11中的代码复制这个问题

问题是您没有声明
,因此您使用的是全局
(感谢1),它是IE11中预定义的本机函数,您无法覆盖或向其添加属性(,根据)。在其他浏览器中,它不是预定义的(或可覆盖的)

这里的课程是:声明变量:-)如果您这样做,它在IE11上也会起作用():

var jsonObj=[];//***
$(“#test”).find(“.data”).each(函数(){
var description=$(this.find('.description').val();
var food=$(this.find('.food').val();
var item={}//***
项目[“说明”]=说明;
项目[“食品”]=食品;
jsonObj.push(项目);
});
$(“”).text(“结果:+JSON.stringify(jsonObj,null,2)).appendTo(document.body)


“插入空/空值”-在哪里?给出了什么输入?您是如何/何时进行测试的?我可以用以下内容来验证OP关于IE11的说法:旁注:
jsonObj
是一个值不是JSON的变量的奇数名称。JSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么就不是JSON。您的
jsonObj
是一个数组。