设为首页 加入收藏 网站首页
休闲娱乐
军事·社会百态·娱乐八卦·校园
体育·美女写真·幽默笑话·游戏
综合·在线视频·搞笑图片·灵异
两性生活
两性知识·性爱技巧
情色实录·两性图片
女性健康·同性之恋
电脑网络
网络编程·网页制作·软件教学
操作系统·图形图象·冲浪宝典
网络安全·邮件系统·认证考试
热点专题
芙蓉·真人漫画
72式·欲望都市
帅哥·人体彩绘
您现在的位置: 世纪中国 >> 网页制作 >> Javascript教程 >> 教程正文
javascript写作技巧,函数A中调用函数B, 怎样在函数B中写代码中断函数A的运行?
作者:中国图霸    教程来源:网络    点击数:    更新时间:2007-1-2
;    result=value
24             throw $break
25         }   
26      })
27      return result
28  }
29
30 var arr=[1,2,3,4,5,7,9]
31
32 function foo(v){    //检测是不是偶数
33     return v%2==0
34 }
35 alert(arr.find(foo))
36
37 </script>
在第24行,如果程序已经找到第一个满足函数返回值为真的元素,那么就抛出一个自定义异常,终止 this.each()的
运行..   注意第12行,只有确保函数抛出的是自定义异常才继续向上抛出异常,从而终止函数的运行.

在上面的代码中,我用的 try---catch方法完全是用来解决本贴所提出的问题的,并未进行任何其他错误处理.

在这方面,prototype.js ,通过定义两个自定义异常对象 $break 和 $continue ,既照顾到了异常处理,又解决了本贴
提出的问题. Enumerable 对象实现得很优雅, 大家不妨再去体会体会 prototype.js 中Enumerable的妙处.

我们看看prototype.js 是怎么做的,我还是贴出来把

prototype.js的代码片段摘取
var $break    = new Object();
var $continue = new Object();

var Enumerable = {
  each: function(iterator) {
    var index = 0;
    try {
      this._each(function(value) {
        try {
          iterator(value, index++);
        } catch (e) {
          if (e != $continue) throw e;
        }
      });
    } catch (e) {
      if (e != $break) throw e;
    }
  },

  all: function(iterator) {
    var result = true;
   

上一页  [1] [2] [3] [4] 下一页

分类推荐
社会 社会 娱乐 军事 校园
幽默 体育 女性 专题
电脑 编程 网页 软件 系统
安全 图象 冲浪 认证
搞笑 人物 动物 物品 表情
签名 色图 漫画 奇闻
美女 明星 清纯 自拍 欧美
丝袜 卡通 性感 走光
两性 知识 性图 孕育 技巧
同性 单身 情感 实录
视频 写真 搞笑 MTV 翻唱
写实 片段 游戏 综艺
Javascript教程热门文章
普通教程 javascript操作cookie
普通教程 javascript+XML 操作
普通教程 javascript中的字符串操作
普通教程 预装载以及javascript Ima
普通教程 来自Google的密码强度java
普通教程 关于ie的内存泄漏与javasc
普通教程 一段非常简单的让图片自动切换
普通教程 使用javascript检测浏览器
普通教程 理解javascript中的事件
普通教程 javascript gb2312转utf-8
普通教程 在网页中控制wmplayer播放器
普通教程 用javascript实现(页面正
普通教程 javascript实现datagrid客
普通教程 javascript代码混淆综合解
普通教程 javascript实现类似google
普通教程 用于自动添加Digg This!按钮的
普通教程 全面理解javascript的call
普通教程 javascript实现仿新浪信息
普通教程 javascript常用检测脚本
普通教程 用javascript轻松制作一套

  广东广州海珠区 世纪网络工作室 版权所有 上海电信提供网络带宽
信箱: 9297659@qq.com 粤ICP备06113754号