Javascript(三)javascript数组及简单使用(全选和反选)
一、JS的数组
1、定义数组和赋值
定义变量的同时赋数组值,那么这个变量就是一个数组变量了。
//默认下标就是从0开始 var bbb = [ 'ab', 'liu', 'bao' ]; |
也可以先定义数组变量,然后再赋值。
//js 数组 var arr = new Array(3); arr[0] = "hello"; arr[1] = 12; arr[2] = 56; |
Java的数组必须是同一数据类型的,而JS的数组可以是不同数据类型,所以上面的例子可以第一项赋一个字符串,第二项赋一个数值类型。
还有一个和Java数组的区别就是Java的数组下标必须是整型,而且是从0开始的,JS的数据可以不从0开始,而且还可以是字符串下标,这时候JS的数组就有点像是一种Map的格式了。例如下面这样也是正确的:
var arr = new Array(3); arr["a"] = "hello"; arr["b"] = 12; arr["c"] = 56; |
2、访问数组
随机访问比较简单,直接使用数组的下标就可以访问了,
alert(arr[1]); alert(arr["a"]); |
遍历数组有两种方式,如果下标是从0开始的,那么可以采用第一种普通循环方式,如下:
for ( var i = 0; i < arr.length; i++) { alert(arr[i]); } |
第二种是for each循环,注意这个for each循环和Java语言也是有很大区别的,首先语法格式不同,还有就是取出来的值仅仅只是数组的下标,不是对应的值。如下:
//for each 得到下标 for ( var i in arr) { alert(i+":"+arr[i]); } |
二、简单使用(全选和反选)
下面这个例子就会用到数组的知识点。先看看下面的示例,其实今天这个例子还是使用js修改html的属性达到一种与用户互动的效果,就是获得checkbox的checked属性即可。代码比较简单,完整代码如下:
html界面如下:
<span οnclick="checkall(true)">全选</span> | <span οnclick="checkall(false)">全不选</span> <span οnclick="checkrever()">反选</span> <br /> <input type="checkbox" name="likes" />羽毛球 <br /> <input type="checkbox" name="likes" />足球 <br /> <input type="checkbox" name="likes" />篮球 |
js代码实现:
<script type="text/javascript"> //通过js修改html的属性 function checkall(cp) { //1、通过name获得所有同名的html,返回一个数组 var allLikes = document.getElementsByName("likes"); for ( var i = 0; i < allLikes.length; i++) { allLikes[i].checked = cp; } } function checkrever() { var allLikes = document.getElementsByName("likes"); for ( var i = 0; i < allLikes.length; i++) { allLikes[i].checked = !allLikes[i].checked; } } </script> |
效果如下: