就像 C# 或 Java 将我所有的 jQuery 代码放在一个 .js 文件中一样,如下所示:
namespace MySite
{
class HomePage
{
function Init(params) { /*...*/ }
//...
}
class ContactForm
{
function Validate() { /*...*/ }
//...
}
}
所以你可以这样调用它:
$(function () {
MySite.HomePage.Init({a : "msg"});
});
我有这段代码,但不起作用:
$.namespace = function () {
var a = arguments, o = null, i, j, d;
for (i = 0; i < a.length; i = i + 1) {
d = a[i].split(".");
o = window;
for (j = 0; j < d.length; j = j + 1) {
o[d[j]] = o[d[j]] || {};
o = o[d[j]];
}
}
return o;
};
$.namespace('$.mysite');
$.mysite.Home = function () {
function Home(params) {
//...
};
Home.prototype = function () {
Init: function () {
alert("lol");
}
}
};
在 jQuery 中可以吗? (类似的东西或建议/示例可以使我的 jquery 代码井井有条。) 感谢您的时间和回答(抱歉我的英语不好)。
最佳答案
为什么不把它放在一个js对象里面呢?
var _o = {};
_o.module1 = {};
_o.module2 = {};
_o.module1.someFunc = function(){//code};
_o.module2.someFunc = function(){//code};
关于javascript - 如何在 javascript/jQuery 中创建命名空间和类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7510287/