【问题标题】:Javascript object within object对象内的 Javascript 对象
【发布时间】:2011-12-15 15:34:09
【问题描述】:

我在对象中创建对象时遇到了一些问题,它与语法相关,但似乎不记得我是如何实现这一点的。

ajaxRequest = {
that: null,
request: null,  
multiRun: null,
multiRunTimer: null,
defaults={
    ext: '',
    url: '',
    type: "POST",
    dataType: "json",
    payload: null,
    beforeSend: 'handleBefore',
    error: 'handleError',
    complete: 'handleCompletion',
    pass: false,
    debug: false,
    multiRunBlock: false                
}}

我收到 Uncaught SyntaxError: Unexpected token =

的语法错误

【问题讨论】:

  • 看看你是如何为其他属性赋值的。
  • 在“defaults”之后的代码中使用“:”而不是“=”
  • 当您在一个对象中时,使用冒号 (:) 而不是 = 分配属性。
  • 使用 jslint 或其他使用它的东西,比如 jsfiddle。

标签: javascript jquery


【解决方案1】:

使用: 将“属性”与其各自的值分开:

defaults: {
    ext: '',
    url: '',
    type: "POST",
    dataType: "json",
    payload: null,
    beforeSend: 'handleBefore',
    error: 'handleError',
    complete: 'handleCompletion',
    pass: false,
    debug: false,
    multiRunBlock: false                
}}

一些阅读:

【讨论】:

    【解决方案2】:

    您需要 : 而不是 = 作为默认值。

    var ajaxRequest = {
    that: null,
    request: null,  
    multiRun: null,
    multiRunTimer: null,
    defaults: {
        ext: '',
        url: '',
        type: "POST",
        dataType: "json",
        payload: null,
        beforeSend: 'handleBefore',
        error: 'handleError',
        complete: 'handleCompletion',
        pass: false,
        debug: false,
        multiRunBlock: false                
      }
    };
    

    【讨论】:

      【解决方案3】:
      ajaxRequest = {
      that: null,
      request: null,  
      multiRun: null,
      multiRunTimer: null,
      defaults: {
          ext: '',
          url: '',
          type: "POST",
          dataType: "json",
          payload: null,
          beforeSend: 'handleBefore',
          error: 'handleError',
          complete: 'handleCompletion',
          pass: false,
          debug: false,
          multiRunBlock: false                
      }}
      

      正如它所说,= 有问题。用户 = 分配变量,但对象内的属性应使用 :(就像您的其他属性一样)

      【讨论】:

        猜你喜欢
        • 2020-07-17
        • 2011-09-19
        • 2021-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-26
        • 1970-01-01
        相关资源
        最近更新 更多