【问题标题】:What is the use [] or {} while declaring a variable? [duplicate]声明变量时 [] 或 {} 有什么用? [复制]
【发布时间】:2014-11-12 21:03:15
【问题描述】:

我可以在搜索无限滚动时看到一些代码。 在下面的一段代码中我无法得到一行代码。

var 延迟加载 = 延迟加载 || {};

var 延迟加载 = 延迟加载 || {}; (函数($,延迟加载){ “使用严格”; var page = 2, buttonId = "#button-more", loadingId = "#loading-div", 容器 = "#data-container"; 延迟加载.load = function() { 警报(“调用”); var url = "./" + 页面 + ".html"; $(buttonId).hide(); $(loadingId).show(); $.ajax({ 网址:网址, 成功:功能(响应){ if (!response || response.trim() == "NONE") { $(buttonId).fadeOut(); $(loadingId).text("没有更多要加载的条目!"); 返回; } 追加竞赛(响应); }, 错误:函数(响应){ $(loadingId).text("抱歉,请求出错,请刷新页面。"); } }); }; var appendContests = 函数(响应){ //var id = $(buttonId); $(buttonId).show(); $(loadingId).hide(); $(response).appendTo($(container)); 页+= 1; }; })(jQuery, 延迟加载);

【问题讨论】:

  • 纯粹是javascript。了解数组和对象。
  • 不使用javascript学习jquery的结果
  • var 延迟加载 = 延迟加载 || {};这行代码是说如果延迟加载未定义启动它

标签: javascript


【解决方案1】:

代码不是 jQuery 特定的。这意味着“如果 lazyload 已经定义,则分配其现有值(无操作)。如果没有,则分配一个空对象({})。”。

【讨论】:

【解决方案2】:

[]new Array() 的快捷方式。 {}new Object() 的快捷方式。

var lazyload = lazyload || {};

这意味着:“将延迟加载变量设置为“延迟加载”或空对象。”

【讨论】:

    【解决方案3】:
    var myVar = myVar || {};
    
    // is the same as this
    
    if(myVar == undefined)
        myVar = {};  // initialize variable as empty object
    
    // or
    
    var myVar = (myVar != undefined) ? myVar : {};
    

    || 是一个 or 运算符。您基本上可以将语句读取为选项选择:“我的变量或空对象”

    这只是确保变量不是未定义

    【讨论】:

      猜你喜欢
      • 2012-07-15
      • 2019-12-29
      • 2021-12-16
      • 1970-01-01
      • 2012-02-10
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 2013-07-26
      相关资源
      最近更新 更多