当前位置: 网学 > 编程文档 > Ajax > 正文

prototype框架入门教程

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/19
下载{$ArticleTitle}原创论文样式
t;
  如果你以前这样尝试过,你知道这些脚本不会如你所期望的那样工作,原因是这段脚本会被执行,但像上面这样的脚本执行并不会创建一个名叫sayHi的函数,它什么也不做。如果要创建一个函数,我们应当把代码改成下面这个样子:
  <script language="javascript" type="text/javascript">
  sayHi = function(){
  alert(''Hi'');
  };
  </script>
  <input type=button value="Click Me" onclick="sayHi()">
  为什么我们在上面的代码中不使用var关键字来声明这个变量呢(指sayHi ),因为那样做创建出来的函数将只是当前脚本块的一个局部变量(至少在IE中是这样)。不写var关键字,创建出来的对象的作用域就是我们所期望的window。
  更多相关知识,请参看 Ajax.Updater reference 和options reference.
  枚举 噢!噢!
  你知道,我们都是这样来做循环的,建一个Array,用elements组织它们,再建一个循环结构(例如for,foreach,while)通过index数字来访问每一个element,再用这个element做一些动作。
  当你想到这时,你会发现几乎每次写循环代码你都会迟早用到一个Array。那么,如果Array对象能够提供更多的功能给它们的迭代器使用不是很爽吗?确实是这样,事实上很多的编程语言都在它们的Array或其它类似的结构中(如Collections,Lists)提供一些这样的功能。
  现在好了,prototype.js了给我们一个 Enumerable对象,它实现了很多和可迭代数据进行交互的窍门。和原有的JS对象相比prototype.js更上一层楼,它对Array 类s扩展了所有枚举要用的函数。
  循环, Ruby样式的
  在标准的javascript中,如果你想把一个array中的所有elements显示出来,你可以像下面代码这样写得很好:
  <script>
  function showList(){
  var simpsons = [''Homer'', ''Marge'', ''Lisa'', ''Bart'', ''Meg''];
  for(i=0;i<simpsons.length;i++){
  alert(simpsons);
  }
  }
  </script>
  <input type="button" value="Show List" onclick="showList();" >
  使用我们新的最好的朋友,prototype.js,我们可以把它生写成这样
  function showList(){
  var simpsons = [''Homer'', ''Marge'', ''Lisa'', ''Bart'', ''Meg''];
  simpsons.each( function(familyMember){
  alert(familyMember);
  });
  }
  你可能会想“非常奇怪的方式相对旧的,这种语法太怪异了”。哦,在上面的例子,确实什么也没有,在这个简单得要死例子中,也没有改变太多啊,尽管如此,请继续读下去。
  在继续下面内容之前,你注意到那个被做为一个参数传递给each函数的函数?我们把它理解成迭代器函数。
  Your arrays on steroids
  就如我们上面提到的,把你的Array中的elements当成相同的类型使用相同的属性和函数是很通用(Common,不知该翻译成通用还是庸俗)的。让我们看看怎么样利用我们新的马力强劲的Arrays的迭代功能吧。
  依照标准找到一个element。
  <script>
  function findEmployeeById(emp_id){
  var listBox = $(''lstEmployees'')
  var options = listBox.getElementsByTagName(''option'');
  options = $A(options);
  var opt = options.find( function(employee){
  return (employee.value == emp_id);
  });
  alert(opt.innerHTML); //displays the employee name
  }
  </script>
  <select id="lstEmployees" size="10" >
  <option value="5">Buchanan, Steven</option>
  <opti

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号