<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[i]);
}
}
</script>
<input type="button" value="Show List" onclick="showList();" >
使用我们新的最好的朋友,prototype.js,我们可以把它生写成这样
function showList(){
var simpsons = ['Homer', 'Marge', 'Lisa', 'Bart', 'Meg'];