javascript - 为什么 JavaScript 解析器接受 JSON 作为函数体?

标签 javascript json

前几天,我遇到了一些奇怪的代码:

var OrderSupplement = function() {
      oid: null;
      code: "";
      description: "";
      startdate: "";
      enddate: "";
      gender: null;
      cardowner: null;
      box: null;
      divisor: 0;
      created: null;
      createdBy: "";
};

代码的意图对我来说很清楚:它试图定义一个构造函数,以创建 OrderSupplement实例

我对这种语法感到困惑。

编写代码的伙伴说它工作正常 - 虽然它显然不;至少它不是它应该做的。他实例化了 OrderSupplement 的新实例,并设置了例如oid 到一个 nonnull 值并稍后检索它。当然,在设置之前检索值会暴露错误。

上面代码的效果是这样的:

var OrderSupplementJson = function() {}

我的问题是:

为什么上面的代码被接受并且没有抛出任何类型的(语法)错误?

最佳答案

因为 oid: 定义了一个 label .

它在语法上是正确的,但没有任何有用的东西。这显然是一个错误。

关于javascript - 为什么 JavaScript 解析器接受 JSON 作为函数体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26797418/

相关文章:

javascript - 有效的 Javascript Date 对象需要什么?

android - JSON数据列表动态

php - 如何在 MYSQL select 中将所有 JSON 键设置为列名

java - Android 上的 Google Maps API 不接受 Lat 和 Long 值?

json - R列表(结构(列表()))到数据框

javascript - 动态轮播 slider HTML?

javascript - 使用GULP加载Jquery CDN和其他外部JS源

sql - 如何在postgresql中将两行转换为键值json对象?

asp.net - 跟踪来自 javascript 的任何 asp.net Web 服务调用

javascript - 将第二个查询的结果添加到第一个查询的答案