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 onclick="checkall(true)">全选</span> |

<span onclick="checkall(false)">全不选</span>

<span onclick="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>

效果如下:

猜你喜欢

转载自blog.csdn.net/weixin_42363997/article/details/81433609
今日推荐