我一直在编写很多 javascript 函数和事件监听器,我想将它们移动到它们自己的命名空间、隔离的地方,当我将它们与其他 javascript 文件连接和缩小时不会发生冲突。
我还是 javascript 的新手,所以这个答案可能有简单的解决方案。我首先创建了一个 javascript 对象:
var MySpecialStuff = {
init: function(){
//do everything here
}
};
然后在我的 html 中,在我想使用它的页面上,我可以初始化这段代码:
<script>
MySpecialStuff.init();
</script>
但随后 init
方法开始增长,我需要开始将该代码分解成更小的 block ,但我坚持语法以及如何设置私有(private)方法/变量并从内部调用它们init
方法和其他私有(private)方法。我该怎么做?
我的方向是否正确?我还可以/应该采取哪些其他方式来做这类事情?
最佳答案
您正朝着正确的方向前进。您可以使用 module pattern创建一个具有私有(private)成员和方法的对象,如下所示:
var foo = function(){
var bar = ""; //private
function funk(){
//private function
return "stuff";
}
return{
getBar: function(){
return bar;
},
init: function(){
alert(funk());
},
randomMember: 0 //public member
}
}();
只有返回 block 中的内容是公开的,但您可以从返回 block 中调用任何私有(private)方法/访问任何私有(private)方法。
关于javascript - 如何隔离我的 javascript 代码以防止冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6962445/