Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
当页面被称为localhost和non-localhost时,尾随逗号的Javascript对象和不同的行为。为什么?_Javascript_Angularjs_Object_Browser - Fatal编程技术网

当页面被称为localhost和non-localhost时,尾随逗号的Javascript对象和不同的行为。为什么?

当页面被称为localhost和non-localhost时,尾随逗号的Javascript对象和不同的行为。为什么?,javascript,angularjs,object,browser,Javascript,Angularjs,Object,Browser,我使用javascript对象(test.html)创建了简单的html页面: (第4行,字符40位于尾随逗号之后;“myObj未定义”是先前错误的结果) Chrome适用于这两种情况 为什么会有如此不同的行为? 在使用第三方js库的情况下,如何处理此类错误? 还是我做错了什么 (由于上述问题,我尝试使用angular gantt库失败。)您确定在Firefox中看到了这一点吗?我在IE中理解它,但在其他任何方面都不理解。IE的问题是因为IE对内部网的默认设置是“无脑死亡”,即使用“兼容模式”(

我使用javascript对象(test.html)创建了简单的html页面:

(第4行,字符40位于尾随逗号之后;“myObj未定义”是先前错误的结果)

Chrome适用于这两种情况

为什么会有如此不同的行为? 在使用第三方js库的情况下,如何处理此类错误? 还是我做错了什么


(由于上述问题,我尝试使用angular gantt库失败。)

您确定在Firefox中看到了这一点吗?我在IE中理解它,但在其他任何方面都不理解。IE的问题是因为IE对内部网的默认设置是“无脑死亡”,即使用“兼容模式”(与IE以前的坏版本兼容,而不是标准)。IE的解决方案是使用
使其不这样做。但这并不能解释Firefox.IE不喜欢尾随逗号。它期待着另一处房产。Chrome只是忽略了它们。在库中识别出有此错误的对象,并用另一个忽略最后一个逗号的对象变量重写此对象变量。@Qurimo:IE8及以上版本支持对象初始值设定项上的悬空逗号,并且是ES5规范(2009年12月)的一部分。
<html>
  <head>
    <script type="text/javascript">
        myObj = { name: "object name", };
    </script>
  </head>
  <body>
  <p>simple text</p>
     <script type="text/javascript">
           alert(myObj.name);
     </script>
  </body>
</html>
SCRIPT1028: Expected identifier, string or number 
test.html, line 4 character 40
SCRIPT5009: 'myObj' is undefined 
test.html, line 9 character 12