`
Jabbar2011
  • 浏览: 165830 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Prototype源码学习之trycatch妙用

阅读更多
还记得看原生态ajax的时候,需要根据浏览器的类型判断用XMLHttpRequest对象还是ActiveXobject对象。
  仔细研究了上面的代码,终于发现这样写的妙处了,大家认为呢?

var Try = {
  these: function() {
    var returnValue;

    for (var i = 0, length = arguments.length; i < length; i++) {
      var lambda = arguments[i];
      try {
        returnValue = lambda();
        break;
      } catch (e) { }
    }

    return returnValue;
  }
};

var Ajax = {
  getTransport: function() {
    return Try.these(
      function() {return new XMLHttpRequest()},
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
      function() {return new ActiveXObject('Microsoft.XMLHTTP')}
    ) || false;
  },

  activeRequestCount: 0
};

 
分享到:
评论

相关推荐

    prototype 1.6参考手册和js文件

    4. **性能优化**:源码中包含了对某些函数的优化,如使用 `try...catch` 语句进行错误处理,以及对浏览器兼容性的检测和调整。 5. **封装浏览器差异**:Prototype 1.6.0.2 版本针对不同浏览器的差异进行了封装,...

    javascript10源码大全

    9. **错误处理**:try...catch语句用于捕获和处理运行时错误,保证程序的健壮性。 10. **性能优化**:了解V8引擎的工作原理,掌握如何优化代码以提高运行效率,如减少全局变量、合理使用闭包、避免内存泄漏等。 ...

    java script 源码

    JavaScript,通常简称为JS,是一种轻量级的...JavaScript的源码学习不仅仅是语法层面的,还包括对Web工作原理的理解、最佳实践的掌握以及对最新技术趋势的追踪。深入学习JavaScript,将有助于成为一名优秀的Web开发者。

    javascript源码12

    以上只是JavaScript源码学习中的一部分关键知识点。通过深入学习和实践,开发者可以不断提升自己的技能,创造出更高效、更具交互性的网页和应用程序。在这个过程中,不断阅读和理解源码是非常有益的,它能够帮助我们...

    js_基础高级部分源码.rar

    8. **错误处理**:try...catch语句用于捕获和处理运行时错误,throw语句可以抛出自定义错误。 9. **正则表达式**:JavaScript提供了正则表达式(RegExp)对象,用于进行模式匹配和文本操作。 10. **DOM操作**:...

    javascript高级编程源码

    10. **错误处理**:如何使用try...catch语句捕获和处理运行时错误,以及更优雅的错误处理策略。 11. **性能优化**:涵盖JavaScript性能的最佳实践,如避免全局查找、减少DOM操作、合理使用缓存等。 12. **最新特性...

    javascript基础教程(第六版)及随书源码

    同时,会介绍异常处理机制,如try...catch语句,用于捕获和处理程序运行时可能出现的错误。 **第九章 数组与字符串**: 在JavaScript中,数组和字符串是两种常用的数据结构。本章会讲解数组的创建、访问、遍历以及...

    javascript源码大全.rar

    11. **错误处理**:通过try...catch语句捕获和处理运行时错误,保证程序的健壮性。 12. **性能优化**:了解V8引擎的工作原理,掌握优化技巧,如避免全局查找、减少DOM操作、使用let和const代替var等。 13. **现代...

    Java设计源码.zip

    此外,Java还强调异常处理(Exception Handling),通过try-catch-finally语句块来捕获和处理程序运行时可能出现的错误。模块化(Modularization)也是Java 9引入的重要特性,它提高了代码组织和依赖管理的效率。...

    JavaScript权威指南(第六版) 中文PDF 英文PDF 源码

    11. 错误处理:介绍了try...catch语句,以及如何有效地抛出和捕获错误。 六、源码分析 附带的源代码可以帮助读者更直观地理解书中所讲解的概念,通过阅读和实践,提升对JavaScript的理解。 七、浏览器兼容性 尽管...

    javascript源码14

    9. 错误处理:通过try...catch语句捕获并处理运行时错误。 10. DOM操作:使用`document.getElementById`, `querySelector`, `createElement`, `appendChild`等方法操作HTML元素。 11. AJAX:利用XMLHttpRequest或...

    [JavaScript权威指南(第6版)]附源码.rar

    9. **错误处理**:JavaScript通过try...catch语句来捕获和处理运行时错误,此外还有Error对象及其子类,用于创建自定义错误。 10. **源码分析**:书中提供的源代码可以帮助读者理解各种复杂编程概念的实际应用,...

    cezve.js:在所有对象上定义伪属性而不修改 Object.prototype

    3. **兼容性处理**:为了确保在各种环境(包括旧版本浏览器)下都能正常工作,`cezve.js` 可能会包含一些针对旧版 JavaScript 引擎的兼容性修复代码,比如使用 `try...catch` 来处理 `Object.create` 不支持的情况。...

    javascript源码大全

    JavaScript中的错误处理通常通过try...catch语句进行,同时开发者工具如Chrome DevTools提供了强大的调试功能,如断点、步进执行、查看变量值等,对于学习和优化代码十分有用。 "javascript源码大全 v1.0.chm"这个...

    JavaScript源码大全 v1.0(CHM) .rar

    8. **错误处理**:理解try...catch语句,以及如何通过throw抛出自定义错误。 9. **性能优化**:如减少DOM操作、缓存结果、避免全局变量、合理使用闭包、使用事件委托等。 10. **调试技巧**:使用浏览器的开发者...

    JavaScript语言参考手册+源码大全

    8. **错误处理**:异常处理机制,包括try/catch语句,以及如何自定义错误。 9. **浏览器API**:XMLHttpRequest(XHR)和Fetch API用于Ajax请求,以及History、Location、Navigator等对象提供的浏览器相关功能。 10...

    javascript-review-源码.rar

    - try...catch:捕获并处理异常 - Error对象:自定义错误类,提供堆栈跟踪信息 10. **ES6+新特性** - 类与继承:`class`语法糖,`extends`实现继承 - 解构赋值:方便地从数组或对象中提取值 - 声明提升:`let`...

    JavaScript源码大全 v1.0(CHM)

    9. **错误处理与调试**:try...catch语句、throw关键字、异常处理、开发者工具的使用进行代码调试。 10. **性能优化与最佳实践**:避免全局变量、减少DOM操作、缓存计算结果、合理使用闭包、异步编程技巧等。 这个...

Global site tag (gtag.js) - Google Analytics