js中循环与事件

其实,循环本来没神马好说的,一般的就是for,while和do...while,外加上可能出现的break,continue什么的。基本上哪种语言编程都会出现的,这些很简单,js的也没有什么特殊的,唯一让我觉得有点特点的是js中有一个for  in ,稍微有点类似于java中的for each,js中还有一个for  each  in.特地在这里探讨下js的for...in...还有for each  in


for...in...

for...in 语句用于对数组或者对象的属性进行循环操作。

for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。


语法:

for (变量 in 对象)

{

    在此执行代码

}

“变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。


实例:

使用 for ... in 循环遍历数组。

<html>

<body>

<script type="text/javascript">

var x

var mycars = new Array()

mycars[0] = "Saab"

mycars[1] = "Volvo"

mycars[2] = "BMW"


for (x in mycars)

{

document.write(mycars[x] + "<br />")

}

</script>


</body>

</html>

《下面是查找到的资料:转、、、》

 

js 中for in 和for each in的区别
两个的作用都用来遍历对象,但为什么有了for in语句了还要for each in语句呢,后来看了下for each in开发的文档,for each in是作为E4X标准的一部分在javascript 1.6中发布的,而且它不是ECMAScript标准的一部分

 
  
  • var 超毛 = {
  • 身高:"185CM",
  • 体重:"70公斤",
  • 年龄:40
  • };
  • for (var i in 超毛){
  • document.write("i = " + i + "..................超毛[i] = " + 超毛[i] + "<br>");
  • }
  • /*
  • 结果
  • i = 身高..................超毛[i] = 185CM
  • i = 体重..................超毛[i] = 70公斤
  • i = 年龄..................超毛[i] = 40
  • */
  • for each (var i in 超毛){
  • document.write("i = " + i + "..................超毛[i] = " + 超毛[i] + "<br>");
  • }
  • /*
  • 结果
  • i = 185CM..................超毛[i] = undefined
  • i = 70公斤..................超毛[i] = undefined
  • i = 40..................超毛[i] = undefined
  • */

注意变量i的值是不一样的,for each in无法获得对象的属性名,只能获取到属性值

如果你想遍历对象,建议还是使用for in
1,for in在遍历对象伤还是比for each in功能更加强大for in不仅能遍历处所有属性名和属性值,for each in只能遍历出属性值
2,for in是javascript 1.0就出来的语法,for each in是javascript 1.6才出来的语法,很多浏览器是 不u支持的,比如IE6,7,8是不支持的,所以还是推荐使用for in

同时两者都能实现对数组的遍历
建议大家在遍历数组时,推荐不要使用for in语句和for each in语句,因为它们两无法保证遍历数组的顺序,还是老老实实使用for语句比较好

 

事件

JavaScript 使我们有能力创建动态页面。事件是可以被 JavaScript 侦测到的行为。

网页中的每个元素都可以产生某些可以触发 JavaScript 函数的事件。比方说,我们可以在用户点击某按钮时产生一个 onClick 事件来触发某个函数。事件在 HTML 页面中定义。

 

事件举例:

  • 鼠标点击
  • 页面或图像载入
  • 鼠标悬浮于页面的某个热点之上
  • 在表单中选取输入框
  • 确认表单
  • 键盘按键

注意:事件通常与函数配合使用,当事件发生时函数才会执行。

 

事件句柄

HTML 4.0 的新特性之一是有能力使 HTML 事件触发浏览器中的动作(action),比如当用户点击某个 HTML 元素时启动一段 JavaScript。下面是一个属性列表,这些属性可插入 HTML 标签来定义事件动作。

FF: Firefox, N: Netscape, IE: Internet Explorer

属性当以下情况发生时,出现此事件FFNIE
onabort图像加载被中断134
onblur元素失去焦点123
onchange用户改变域的内容123
onclick鼠标点击某个对象123
ondblclick鼠标双击某个对象144
onerror当加载文档或图像时发生某个错误134
onfocus元素获得焦点123
onkeydown某个键盘的键被按下143
onkeypress某个键盘的键被按下或按住143
onkeyup某个键盘的键被松开143
onload某个页面或图像被完成加载123
onmousedown某个鼠标按键被按下144
onmousemove鼠标被移动163
onmouseout鼠标从某元素移开144
onmouseover鼠标被移到某元素之上123
onmouseup某个鼠标按键被松开144
onreset重置按钮被点击134
onresize窗口或框架被调整尺寸144
onselect文本被选定123
onsubmit提交按钮被点击123
onunload用户退出页面123
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值