`

如何提高js的稳定性

    博客分类:
  • JS
阅读更多

现在很多流行的js框架设计的都非常不错,尤其像jquery这样的框架,不但小巧简单而且不失去灵活,给我们做前端开发人的无限瞎想。
      很多网站,还是B/S软件都一个很致命的问题,如果不兼容,或者是js出错整个页面就卡起,就因为这样大家一致认为js很垃圾,很不友好,举例子:
var productAgenter=$.infoData.prdagenter;
p.html('');
$('<table><tr><td><span style="color:red">双击代理商可以查看信息</span></td></tr>< /table>').appendTo(p);
var table=$('<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><th width="50%" height="22"><strong>代理商名字</strong></th><th>& lt;strong>代理价格</strong></th></tr>< /table>').appendTo(p);
for(var i=0;i<productAgenter[0].length;i++){
        $('<tr><td height="22">'+productAgenter[0][i]+'</td><td>'+productAgenter[1][i]+'</td></tr>').appendTo(table).dblclick(function(){
        var u='index.php?app=client&action=info&name='+encodeURIComponent($(this).find('td:first').html());
            $.win({url:u,title:'代理商资料',defaultWidth:700,defaultHeight:400});
            table.find('.selected').removeClass('selected');
             $(this).addClass('selected');
                                        }).hover(function(){
                                            $(this).addClass('handover');
                                        },function(){
                                            $(this).removeClass('handover');
                                        });
                                }
如 果数据定义完整的情况下会弹出一个div,div中会显示一个出$.infoData.prdagenter这个内容,这个数据库是从数据库中ajax获 得json,关键问题出现了,用户没有初始化数据库的时候,这个json肯定是null,那下边的程序都出错了,因为没有length这个属性,整个页面 上的所有操作由于这个而中止了,这样体现出我们设计程序的考虑不周,给用户的感觉就是不稳定。
实际上我们想要的效果,就是算他是空的时候,还是要弹出div,只是内容为空就成了,这样用户也知道怎么回事,而整个进程不受影响,就需要加一个操作try{}catch(e){}修改代码如下:
try{

p.html('');
$('<table><tr><td><span style="color:red">双击代理商可以查看信息</span></td></tr>< /table>').appendTo(p);
var table=$('<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><th width="50%" height="22"><strong>代理商名字</strong></th><th>& lt;strong>代理价格</strong></th></tr>< /table>').appendTo(p);
var productAgenter=$.infoData.prdagenter;
for(var i=0;i<productAgenter[0].length;i++){
        $('<tr><td height="22">'+productAgenter[0][i]+'</td><td>'+productAgenter[1][i]+'</td></tr>').appendTo(table).dblclick(function(){
        var u='index.php?app=client&action=info&name='+encodeURIComponent($(this).find('td:first').html());
            $.win({url:u,title:'代理商资料',defaultWidth:700,defaultHeight:400});
            table.find('.selected').removeClass('selected');
             $(this).addClass('selected');
                                        }).hover(function(){
                                            $(this).addClass('handover');
                                        },function(){
                                            $(this).removeClass('handover');
                                        });
                                }

}catch(e){}
这 样就可以解决程序被中断的情况,有问题先忍着,等其的都执行完再说。尤其在根据ajax返回结果处理问题的时候,这个是必须,因为服务端也有可能出错,总 不能让浏览器的左下角报错,停在那里吧!就像我们买东西一样,我买牙刷,也买牙膏,你牙刷坏了我就不买了,但是我要买牙膏啊,总不能牙刷坏了,就一定不能 买牙膏了。用专业的习惯处理这些不专业的问题。在调用别人插件或者写好的方法的时候,请加上,不要承担别人的错误,因为那些插件不见得就是完美的。给它画 个妆免得出来吓人,那就不好办了。

 

转载自:http://hi.baidu.com/itjquery/blog/item/874fae34bc98528da61e12bf.html

分享到:
评论

相关推荐

    Node性能跟踪与稳定性优化

    为了提高Node.js应用的稳定性和可用性,合理管理进程至关重要。例如使用`aleafs/pm`这样的工具可以实现: - 请求分发,利用多CPU核心提高处理能力。 - 子进程容灾,自动重启失败的服务实例。 - 系统信号处理,确保...

    藏经阁-《基于阿里云的 Nodejs 稳定性实践》.pdf

    Nodejs 是一个基于 JavaScript 的服务器端编程语言,它的稳定性对企业级开发至关重要。基于阿里云的 Nodejs 稳定性实践旨在提高 Nodejs 应用程序的稳定性和性能。 稳定性是指应用程序能够持续提供可用的服务的...

    Node.js稳定安装版本

    3. **V8引擎**:Node.js内部集成了Google的V8引擎,使得JavaScript代码能被快速编译和执行,提高了执行效率。 4. **丰富的生态系统**:Node.js拥有庞大的npm(Node Package Manager)模块库,开发者可以轻松找到...

    Meriyah一个100兼容自托管的Javascript解析器高度关注性能和稳定性

    Meriyah是一个强大的JavaScript解析器,它以100%的兼容性和卓越的性能与稳定性为特点。在JavaScript开发领域,解析器是至关重要的工具,它们负责将源代码转换成抽象语法树(AST),这是进一步分析和处理代码的基础。...

    Auto.js Pro7.0.37稳定版本

    Auto.js Pro 7.0.37作为稳定版本,意味着它经过了广泛的兼容性和稳定性测试,适应多种Android设备和系统版本,降低了在不同环境下的运行风险。 4. **应用场景** - **自动填充**:在登录、注册等场景下自动填写...

    含双馈风电机的电力系统电压稳定性分岔分析.pdf

    含双馈风电机的电力系统...结果表明,DFIG转子控制电压值的处理方法可以提高风电系统的电压稳定性,并且分岔理论可以分析动态负荷参数变化对风电系统电压稳定性的影响。该研究为风电系统的电压稳定性分析提供了依据。

    oss实现js上传

    总的来说,利用JavaScript实现OSS上传是现代Web应用中常见的技术实践,它可以大大提高文件上传的效率和用户体验,同时通过合理的优化和安全策略,确保服务的稳定性和数据的安全性。在实际项目中,开发者应根据业务...

    渐进式JavaScript框架Vue.js的全家桶应用

    Vue.js 是一款渐进式JavaScript框架,其全家桶是一套完整的工具链,旨在提升开发效率,确保项目的可维护性、性能稳定性和模块化。Vue全家桶涵盖了自动化构建、状态管理、路由控制和UI组件等多个方面,完全符合前端...

    JavaScript专题一_构建自己的JS库

    7. **测试**:编写测试用例,确保代码的正确性和稳定性。可以使用Mocha、Jest等测试框架。 8. **文档编写**:清晰的文档能让用户更容易理解和使用你的库。可以使用JSDoc等工具自动生成API文档。 9. **发布与版本...

    模拟窗口 js javascript

    总之,模拟窗口是JavaScript测试中的一种强大技术,它帮助开发者在没有实际浏览器的情况下进行深入的代码测试,从而提高代码质量和应用的稳定性。通过理解和掌握模拟窗口的原理和实践,开发者能够更好地掌控项目中的...

    protobuf-js-3.17.0

    protobuf-js-3.17.0 是一个针对JavaScript环境实现的Protocol Buffers库,它提供了稳定性和兼容性,尤其在3.17.0版本中,开发者可以期待更可靠的性能和功能。Protocol Buffers(简称protobuf)是Google推出的一种...

    javascript 高级 对象 object js

    高质量的代码不仅仅在于功能的实现,更在于其稳定性和可维护性。为了达到这一目标,建立一个强大的测试环境至关重要。测试不仅可以帮助开发者及时发现并修复错误,还能确保代码在未来的扩展或修改中保持健壮性。 在...

    pdf.js v2.13.94-beta 支持chrome 80以下版本

    4. **错误处理**:考虑到网络环境的不稳定性,PDF.js提供错误处理机制,帮助开发者处理加载失败或解析错误等问题。 5. **性能优化**:由于PDF文档可能很大,PDF.js通过预加载、分页加载等方式优化性能,减少内存...

    xlsx.full.js

    修复后的逻辑经过了实际测试,确保了功能的稳定性和可靠性。 在JavaScript环境中,`xlsx.full.js`库提供了以下主要功能: 1. **读取Excel文件**:支持XLSX、XLSB、CSV、JSON等多种格式的读取,通过解析文件内容并...

    node.js14.18.3版本下载

    - 错误修复:解决了已知的 bug,提高软件稳定性。 - 安全更新:修补了安全漏洞,增强了系统的安全性。 npm(Node Package Manager)是与 Node.js 一起安装的包管理器,用于安装、管理和共享开发依赖项。通过 npm,...

    jsjava

    2. 类型检查:尽管JavaScript是动态类型的,但JsJava可能提供了一种方式来强制类型检查,增加代码的稳定性和可预测性。 3. Java API接口:通过这个库,开发者可以在JavaScript中调用部分Java的API,如数据结构、...

    javascript逆向 js混淆 乱码增强 js逆向学习

    同时,我们也应该关注代码质量和性能优化,确保代码的有效性和稳定性。学习逆向工程并不仅仅是为了破解,更重要的是为了提升自身技能水平和对代码安全性的认识。 在探索 JavaScript 逆向工程的过程中,建议遵循合法...

    jquery-1.9.1(js和min.js下载)

    jQuery 1.9.1是在1.9版本基础上的一个小更新,主要修复了1.9版本中的一些已知问题,以提高稳定性和兼容性。在这一版本中,jQuery对一些过时的API进行了移除,同时对部分函数进行了优化,以适应更现代的浏览器环境。 ...

    node.js老版本包

    这个版本主要聚焦于性能优化、稳定性提升以及对 ES2020 功能的支持。其中,以下几点是重要的更新: 1. **V8 更新**:V8 引擎升级至 8.4 版本,引入了更快的编译速度和更强的性能。 2. **ES Modules 支持**:Node.js...

    js库bignumber.js_v9.0.2

    `bignumber.js_v9.0.2`是该库的一个稳定版本,对不同的JavaScript环境(浏览器、Node.js等)具有良好的兼容性。随着JavaScript的发展,开发者可以期待此库在后续版本中继续优化性能,增加新特性,并保持对新标准的...

Global site tag (gtag.js) - Google Analytics