javascript之学会吝啬 精简代码
时间:2024-04-19 09:52:21
1、吝啬你的代码,用最少的代码做最合适的事情;
比如你的代码中用到了很多document.getElementById(),你是否考虑写一个简单的ID选择器
function $(Id)
{
return document.getElementById(Id);
}
2、吝啬你的补丁,不要为了实现功能在现有框架上打补丁,而是框架扩展上写实现,如果框架不能扩展,是否考虑部分重构?
比如你已经拥有一套完整的表单正则验证框架,某天你发现某个表单在严重框架里找不到对应的正则,你可能的做法是追加一个if就能简单的实现,可为何不在验证框架里面扩展一个正则,保持代码的干净呢?
、吝啬代码执行的步骤
比如我们在写ajax代码时,我们经常写如下的代码:
var xmlObject;
function createXMLHTTPRequest()
{
if(window.ActiveXObject)
{
xmlObject = new ActiveObject("Microsoft.XMLHTTP");
}
else
{
xmlObject = new XMLHTTPRequest();
}
}
但我们每生成一次对象就要进行一次判断,为何不在第一次生成对象后记忆下来,下次直接new呢?改进后如下
var _ajax = function(){
_self = this;
}
_ajax.prototype = {
/**
* 构建http请求对象
*/
_create: function(){
var factories = [
function(){return new XMLHttpRequest();}, //非IE系列
function(){return new ActiveXObject("Microsoft.XMLHTTP");}, //IE
function(){return new ActiveXObject("Msxml2.XMLHTTP");} //IE某些版本
];
for (var i = 0; i < factories.length; i++) {
try {
if (factories[i]()) {
return factories[i];
}
}
catch (e) {
continue;
}
}
return factory[2];
}(),
}
这段代码看起来视乎比上面执行步骤多很多,但当第一次调用_ajax._create()后,_ajax._create已经被改变成一个兼容当前浏览器的匿名函数,以后的调用都不再会做判断;
标签:javascript,精简代码
0
投稿
猜你喜欢
String.indexOf 方法介绍
2013-06-01 20:22:27
python使用turtle库与random库绘制雪花
2021-02-21 22:51:20
border边框在浏览器中的渲染方式
2010-03-10 10:52:00
详解如何使用Python隐藏图像中的数据
2022-01-31 21:32:38
python数字图像处理像素的访问与裁剪示例
2023-05-12 11:07:20
mysql中自增auto_increment功能的相关设置及问题
2024-01-16 09:34:13
Django框架静态文件使用/中间件/禁用ip功能实例详解
2023-06-12 02:48:38
基于PyQt5制作一个PDF文件合并器
2023-04-27 07:50:58
python使用分治法实现求解最大值的方法
2021-07-14 12:06:09
怎样安全地关闭MySQL实例
2024-01-20 02:39:20
python turtle库画圣诞树详细代码教程
2022-09-20 10:29:33
javascript实现双端队列
2024-05-02 16:18:58
Flask框架单例模式实现方法详解
2023-01-24 17:04:55
ASP.NET与数据库相关技巧
2024-01-26 19:45:23
基于wxPython的GUI实现输入对话框(1)
2023-01-07 19:54:21
Python实例解析图像形态学运算技术
2021-04-14 10:34:24
windows下python安装paramiko模块和pycrypto模块(简单三步)
2021-11-29 01:18:40
Python动态生成多维数组的方法示例
2023-07-19 04:12:03
javascript创建函数的20种方式汇总
2024-02-26 21:25:06
前端可视化搭建组件值校验规则详解
2024-04-19 09:42:32