gpt4 book ai didi

jquery - JQuery 命名空间 + 通用实用函数的最佳实践

转载 作者:行者123 更新时间:2023-12-03 22:41:24 25 4
gpt4 key购买 nike

当前用于实现 JQuery 命名空间来托管通用实用函数的“经验法则”有哪些?

我有许多 JavaScript 实用方法分散在各个文件中,我想将它们合并到一个(或多个)命名空间中。最好的方法是什么?

我目前正在研究两种不同的语法,按优先顺序列出:

  //******************************
// JQuery Namespace syntax #1
//******************************
if (typeof(MyNamespace) === "undefined")
{
MyNamespace = {};
}

MyNamespace.SayHello = function ()
{
alert("Hello from MyNamespace!");
}

MyNamespace.AddEmUp = function (a, b)
{
return a + b;
}

//******************************
// JQuery Namespace syntax #2
//******************************
if (typeof (MyNamespace2) === "undefined")
{
MyNamespace2 =
{
SayHello: function ()
{
alert("Hello from MyNamespace2!");
},

AddEmUp: function (a, b)
{
return a + b;
}
};
}

语法 #1 更加冗长,但看​​起来它会更容易维护。我不需要在方法之间添加逗号,并且可以左对齐所有函数。

还有其他更好的方法吗?

最佳答案

对于 jQuery 插件等,如果您希望它在元素上可用,则模式是使用 $.fn.myPlugin ,如果您只想使用 $.whatever使用命名空间。推荐阅读官方Plugins Authoring documentthese articles .

但是除了 jQuery 之外,为你的 utils 命名空间的最简单方法是沿着这些线:

var utils = window.utils || {};
utils.method = function(){};

JS 中命名空间的基础知识最近并没有真正改变 - 你应该查看 snook's article , DED's elegant approachthis SO question .

使用自调用函数声明命名空间的主要优点是您可以在返回对象之前私有(private)地执行内容。此外,该对象将准备好由控制台自动完成,您将在 $ 命名空间中错过它,因为 jQuery 返回一个函数而不是一个对象。

关于jquery - JQuery 命名空间 + 通用实用函数的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4543294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com