声明变量时有什么用[]或{}?

时间:2014-09-18 13:28:57

标签: javascript

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

var lazyload = lazyload || {};

var lazyload = lazyload || {};

(function($, lazyload) {

    "use strict";

    var page = 2,
        buttonId = "#button-more",
        loadingId = "#loading-div",
        container = "#data-container";

    lazyload.load = function() {
        alert("Invoked");
        var url = "./" + page + ".html";

        $(buttonId).hide();
        $(loadingId).show();

        $.ajax({
            url: url,
            success: function(response) {
                if (!response || response.trim() == "NONE") {
                    $(buttonId).fadeOut();
                    $(loadingId).text("No more entries to load!");
                    return;
                }
                appendContests(response);
            },
            error: function(response) {
                $(loadingId).text("Sorry, there was some error with the request. Please refresh the page.");
            }
        });
    };

    var appendContests = function(response) {
        //var id = $(buttonId);

        $(buttonId).show();
        $(loadingId).hide();

        $(response).appendTo($(container));
        page += 1;
    };

})(jQuery, lazyload);

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

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

var lazyload = lazyload || {};

这意味着:"将lazyload变量设置为" lazyload"或空对象。"

答案 2 :(得分:1)

var myVar = myVar || {};

// is the same as this

if(myVar == undefined)
    myVar = {};  // initialize variable as empty object

// or

var myVar = (myVar != undefined) ? myVar : {};

||运算符。您基本上可以将该语句作为选择选择:"我的变量或空对象"

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