Javascript(三)javascript数组及简单使用(全选和反选)

本文介绍JavaScript数组的基本操作,包括定义、赋值、访问等,并通过一个全选和反选功能的实例演示如何利用数组进行DOM操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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>

效果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值