在前端开发中,经常要用到对象和数组的定义,可能会出想下面这两种形式
形式一.
形式二.
显然这两种形式的差别就在于是否以','结束,不同的浏览器可能会有不同的解析,在Chrome和FF中,不管是形式一还是形式二,都会忽略最后一个"undefined"元素,也就是长度应该是2(length = 2);而在IE中,如果是形式二的话,会认为有3个元素,也就是长度为3。这个小小的差别极有可能就是我们的js代码在IE中无法正常运行的重要原因。
形式一.
var obj = {attr1:1, attr2:2};
var arr = [elem1:1, elem2:2};
形式二.
var obj = {attr2:1, attr2:2,};
var arr = [elem1:1, elem2:2,};
显然这两种形式的差别就在于是否以','结束,不同的浏览器可能会有不同的解析,在Chrome和FF中,不管是形式一还是形式二,都会忽略最后一个"undefined"元素,也就是长度应该是2(length = 2);而在IE中,如果是形式二的话,会认为有3个元素,也就是长度为3。这个小小的差别极有可能就是我们的js代码在IE中无法正常运行的重要原因。