如何打包javascript代码供他人使用
封装某些javascript的最佳方式是什么,这样其他人就可以将其添加到他们的项目中,而不必担心会破坏变量等。?我查看了jQuery源代码以了解它是如何完成的;似乎他们只是将所有内容都附加到末尾的如何打包javascript代码供他人使用,javascript,package,Javascript,Package,封装某些javascript的最佳方式是什么,这样其他人就可以将其添加到他们的项目中,而不必担心会破坏变量等。?我查看了jQuery源代码以了解它是如何完成的;似乎他们只是将所有内容都附加到末尾的窗口对象。因此,做以下事情的首选方式是: (function(w) { // constructor var MyCode = function() { // my code } w.MyCode = MyCode; }(window)); 我如何将代码分
窗口
对象。因此,做以下事情的首选方式是:
(function(w) {
// constructor
var MyCode = function() {
// my code
}
w.MyCode = MyCode;
}(window));
<>我如何将代码分段,并允许它安全地插入到其他人的代码中? 如果您希望库与jQuery一起工作,可以考虑编写jQuery插件。 这是官方指南
function myClass() {
this.myVariableToShare = 1;
this.myMethod = function() {
this.myVariableToShare ++;
}
}
var myObjectOfMyClass = new myClass();
然后你可以对用户说:“嘿,使用这个对象!”。他可以这样做:
alert(myObjectOfMyClass.myVariableToShare);
或
这些库通常就是这样实现的
您也可以使用另一种方法:只需在代码开头创建一个全局变量列表:
var myVariable = 1;
然后它在每个函数中都是可见的(当然,如果它里面没有这样的变量)。但我更喜欢这个对象,因为你把所有东西都放在一个包里,用户不怕用他想要的变量名
我希望这能回答您的问题。创建名称空间并使用模块模式这可能值得一看。这个库本身就是为了解决js中的模块加载问题而设计的,但是文档对如何设计模块给出了一些很好的见解。我把所有的东西都封装在一个函数中,这很好,我更想知道如何让用户访问代码,因为它是封装的。
myObjectOfMyClass.myMethod();
alert(myObjectOfMyClass.myVariableToShare);
var myVariable = 1;