Javascript 什么';这种jquery编码风格叫什么?

Javascript 什么';这种jquery编码风格叫什么?,javascript,jquery,Javascript,Jquery,我总是将jquery与 $(document).ready(function { .... }); 但我最近刚刚继承了一个完整的站点,其脚本文件如下所示: var gc = gc || {}; gc.header = { mobileNav: function () { ... }, headerLink: function () { ... } }; gc.header.headerLink(); 我从未见过它

我总是将jquery与

$(document).ready(function {
    ....
});
但我最近刚刚继承了一个完整的站点,其脚本文件如下所示:

var gc = gc || {};

gc.header = {

    mobileNav: function () {
        ...
    },

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

gc.header.headerLink();
我从未见过它以这种方式构建——它实际上非常易于使用,并且希望了解更多有关它的信息,以帮助改进我的编码风格

如果有人能帮我提供这种类型的编码风格是什么?如果你知道的话,还有一些学习资源

提前谢谢


Lew.

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

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

它只是普通的JavaScript,它是一种称为名称空间的技术:

它只是普通的JavaScript,它是一种称为名称空间的技术:

这种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 var gc=gc |{};//如果存在“gc”对象,请使用它。否则,创建一个空对象。 gc.header={//在gc.header对象中创建2个方法,mobileNav和headerLink mobileNav:函数(){ ... }, headerLink:函数(){ ... } }; gc.header.headerLink();//在gc.header中引用headerLink()方法
这比创建一个更简单的模式要好得多,其中
mobileNav
headerLink
是全局函数,因为
mobileNav
headerLink
是非常通用的函数,可以在其他插件中使用和命名相同。通过使用名称空间,您可以减少代码中断和冲突的风险,因为
gc.header.headerLink()
更独特。

这种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 var gc=gc |{};//如果存在“gc”对象,请使用它。否则,创建一个空对象。 gc.header={//在gc.header对象中创建2个方法,mobileNav和headerLink mobileNav:函数(){ ... }, headerLink:函数(){ ... } }; gc.header.headerLink();//在gc.header中引用headerLink()方法
这比创建一个更简单的模式要好得多,其中
mobileNav
headerLink
是全局函数,因为
mobileNav
headerLink
是非常通用的函数,可以在其他插件中使用和命名相同。通过使用名称空间,您可以减少代码中断和冲突的风险,因为
gc.header.headerLink()
更为独特。

这称为面向对象编程。对象是
gc
,它有方法(函数),也可以有属性。您可以在这里了解更多信息:这两种语言完全无关。请了解如何在jQuery的范围之外编写JavaScript。jQuery定义了加载页面时要运行的脚本,第二种定义了构建对象的方法。恐怕在功能上是不相关的。这叫做面向对象编程。对象是
gc
,它有方法(函数),也可以有属性。您可以在这里了解更多信息:这两种语言完全无关。请了解如何在jQuery的范围之外编写JavaScript。jQuery定义了加载页面时要运行的脚本,第二种定义了构建对象的方法。恐怕在功能上是不相关的。太好了!一个快速的谷歌搜索后,这正是我要找的!谢谢,更确切地说,这不是jQueryperfect特有的!一个快速的谷歌搜索后,这正是我要找的!谢谢,这不是jQuery特有的