封装一些javascript的最佳方法是什么,以便其他人可以将其添加到他们的项目中,而不必担心破坏变量等?我看了一下jQuery源代码,看看它是如何完成的;它们似乎只是在最后将所有内容附加到window
对象上。所以,这是做某些事情的首选方式:
(function(w) {
// constructor
var MyCode = function() {
// my code
}
w.MyCode = MyCode;
}(window));
我还能如何分割我的代码并允许它安全地插入其他人的现有代码?
答案 0 :(得分:0)
如果您希望您的库与JQuery一起使用,您可以考虑编写Jquery插件。
这是官方指南。 http://learn.jquery.com/plugins/basic-plugin-creation/
答案 1 :(得分:0)
像
var myobjectsdfjhgsdfjhgdsfjhgkjfgnalkcnkabvakbvkjladfv = { myGlobal1: "1", ... }
修改强>
好的,一些新的要求......要让用户重用您的变量,请创建一个类/对象:
function myClass() {
this.myVariableToShare = 1;
this.myMethod = function() {
this.myVariableToShare ++;
}
}
var myObjectOfMyClass = new myClass();
然后你可以对用户说:“嘿,使用这个对象!”。他可以这样做:
alert(myObjectOfMyClass.myVariableToShare);
或
myObjectOfMyClass.myMethod();
alert(myObjectOfMyClass.myVariableToShare);
这就是通常实现库的方式。
您也可以采用其他方式:只需在代码的开头创建一个全局变量列表:
var myVariable = 1;
然后它在每个函数中都可见(当然,如果它没有像里面那样的变量)。但是我更喜欢这个对象,因为你拥有一个包内的所有内容,用户不怕使用他想要的名字作为他的变量。
我希望这能回答你的问题。