关于在大javascript文件中排序的建议
Advice for order in big javascript file
我开始在Sublime Text中创建一个只有几行和几个函数的javascript文件,但是随着时间的推移,这个文件越来越大,现在它有大约600行和大约40个函数。
所以我一直上下滚动来写或读代码。我认为这不是一个好的工作流程。我怎样才能更有组织与javascript代码。有专业人士使用的技术或工具吗?
600行还不算多。你能做的就是给你的代码命名空间(根据功能分开)。例如:
假设你有一个js文件,里面有一堆函数
function formatDate(date){ ... }
function calcAge(birthdate){ ... }
function removeAccents(string){ ... }
function resizeImage(img){ ... }
... and many more ...
您可以继续按类别分离函数,在这种情况下,我们可以将处理日期的所有函数分组。所有处理字符串的和处理图像的
// we create a global namespace, on main.js
var MyCoolProject = {};
// then we include string.js, and put all the string functions here
MyCoolProject.string = {
removeAccents: function(string){ ... }
};
// on date.js, we put all date functions
MyCoolProject.date = {
formatDate: function(date){ ... },
calcAge: function(birthdate){ ... }
};
// so on with image.js
MyCoolProject.img = {
resizeImage: function(date){ ... }
};
这样你就有了几个较小的文件来处理特定类型的逻辑,你可以像这样调用你的函数:
function doSomethingAwesome(str){
var awesomeString = MyCoolProject.string.awesomize(str);
alert(awesomeString);
}
您还受益于拥有更易于维护的代码并避免冲突。当您包含的另一个脚本恰好具有与您的脚本同名的函数时,就会发生冲突。如果发生这种情况,则只执行最后包含的函数。通过给代码设置命名空间,可以防止这种情况的发生。
Keep in mind
你将有更多的文件,这意味着在你的html中有更多的<script>
标签,有时顺序很重要!最终应该使用grunt或gulp等构建工具将所有js连接并最小化到一个单独的scripts.js文件中。通过这种方式,您可以在开发过程中完全控制代码。但是一旦在生产中,你的网站只会对js文件发出一次请求,这应该会使你的网站加载速度更快。
另外,这里使用的命名空间方法是我的个人偏好,但在js中,你可以通过其他模式,如原型,闭包,commonjs等来实现相同的行为,所以你可以研究这些,看看哪一个适合你的个人偏好。没有一个比另一个更好,只有一个将作为一个工具,使您更快,更好地构建它。
- 使用php、ajax、javascript对页面上的flash文件进行随机排序
- jquery文件上传(排序)
- 从可排序文件中拖出来
- 在 Sails.js 中重新排序文件上传的表单参数
- 路由文件中的 ExpressJS 排序架构对象
- 使用咕噜咕噜中性对文件进行排序
- 您能否按字母顺序对从 JSON 文件动态创建的 jQuery 列表进行排序
- 用外部文件对Grunt中的文件进行排序
- 嵌套可排序文件无法正确折叠/展开
- 当jQuery可排序文件发生更改/更新时,会收到通知
- 浏览器中大型XML文件的快速自然排序
- 无法从jQuery UI中获得可排序的post数据(发送到相同的文件)
- 如何在D3.js中通过JSON文件解析按键排序对象
- 使用数据库与文件系统进行图像排序
- 如何排序日期和字符串在同一列在jquery插件有文件jquery. datatable .js
- 使用纯JavaScript将JSON文件转换为可排序表
- 另一种排序JSON文件的方法,或者至少是使用javascript的下拉列表
- 如何排序树的文件夹
- 如何排序和显示目录中的HTML文件及其链接
- 关于在大javascript文件中排序的建议