gpt4 book ai didi

javascript - 发布前 JavaScript 库格式化的推荐做法

转载 作者:搜寻专家 更新时间:2023-11-01 05:24:29 25 4
gpt4 key购买 nike

假设您刚刚实现了一个包含一些函数的 JavaScript 库,例如:

double = function(a){ return a*2; };
root = function(a,b,c){ return -b+Math.sqrt(b*b-4*a*c)/(2*a); };
hypotenuse = function(a,b){ return Math.sqrt(a*a+b*b); };

这样分发它不是一个好主意,因为该代码会污染全局命名空间。

在发布之前格式化 JavaScript 库的正确方法是什么?

最佳答案

因为你的函数不使用类,不需要状态,并且与一个简单的主题相关,你可以简单地将它们发布为

myMath = {
double: function(a){ return a*2; },
root: function(a,b,c){ return -b+Math.sqrt(b*b-4*a*c)/(2*a); },
hypotenuse: function(a,b){ return Math.sqrt(a*a+b*b); }
};

现在假设您想要使用私有(private)函数或状态,那么您可以使用 module pattern :

myMath = (function(){
var square = function(x){return x*x}; // private function
return {
double: function(a){ return a*2; },
root: function(a,b,c){ return -b+Math.sqrt(square(b)-4*a*c)/(2*a); },
hypotenuse: function(a,b){ return Math.sqrt(square(a)+square(b)); }
}
})();

但是这里真的没有理由使用这个结构。

现在请注意,在 github 上发布的内容远不止于此(文档、测试单元、readme.md 等),但很难在 SO 上进行建设性讨论。

关于javascript - 发布前 JavaScript 库格式化的推荐做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14446154/

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