这种类型的jquery编码风格叫什么?

时间:2016-06-16 15:00:22

标签: javascript jquery

我总是使用jquery和

$(document).ready(function {
    ....
});

但我最近刚刚继承了一个完整的网站,脚本文件打开如下:

var gc = gc || {};

gc.header = {

    mobileNav: function () {
        ...
    },

    headerLink: function () {
        ...
    }
};

gc.header.headerLink();

我从未见过以这种方式构建它 - 它实际上非常容易使用,并且希望了解更多有关帮助改进我的编码风格的信息。

如果有人可以通过向我提供这种类型的编码风格来帮助我吗?而且 - 如果你知道任何一些学习资源?

提前致谢!

路易斯。

3 个答案:

答案 0 :(得分:5)

它通常被称为命名空间。它与jQuery完全无关。

答案 1 :(得分:4)

这种JavaScript语法更加面向对象。这样可以更轻松地进行编辑和阅读,还可以通过namespacing JavaScript帮助您保持JavaScript“干净”。这意味着您基本上尽可能地将JavaScript保留在全局对象之外 - 从而减少代码中的冲突。

逐行:

var gc = gc || {}; // If a 'gc' object exists, use it. Otherwise create an empty object.

gc.header = { // In the gc.header object create 2 methods, mobileNav and headerLink

    mobileNav: function () {
        ...
    },

    headerLink: function () {
        ...
    }
};

gc.header.headerLink(); // Reference the headerLink() method inside gc.header

这比创建更平坦的模式更为可取,其中mobileNavheaderLink是全局函数,因为mobileNavheaderLink是非常通用的函数,可以使用和命名在其他插件中完全相同。通过命名空间,您可以降低破坏代码和遇到冲突的风险,因为gc.header.headerLink()更加独特。

答案 2 :(得分:1)

它只是普通的JavaScript,它是一种名为命名空间的技术:How do I declare a namespace in JavaScript?