js数组练习

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>js数组练习</title>
        <script type="text/javascript" src="js/jquery.min.js" ></script>
    </head>
    <body>
    </body>
</html>
<script type="application/javascript">
        /*
         * 1.创建数组
         */
        var arr1 = [];
        var arr2 = new Array();
        /*
         * 2.添加数组元素
         */
        arr1.push("a");
        arr1.push("b");
        arr1[0] = "c"; //这个值会覆盖a
        arr1[10] = "j";
        console.log("集合arr1的长度=" + arr1.length);
        for (var i = 0; i < arr1.length; i++) {

        }
        document.write(arr1.join());

        var pNode = document.createElement("p");
        var pText = document.createTextNode("这是一个新段落。。。。");
        pNode.appendChild(pText);
        var bNode = document.getElementsByTagName("body");
        console.log("body标签名称的长度:" + bNode.length);
        bNode[0].appendChild(pNode);

        var div2 = document.createElement("div");
        var divInnerText = document.createTextNode("div2的文本节点");
        div2.appendChild(divInnerText);
//      var divId = document.createAttribute("myAttr");没有用,现在用element.setAttribute()取代
//      console.log("创建的属性返回值:" + divId);
//      console.log("节点类型:" + divId.nodeType + ", 节点名称:" + divId.nodeName);
        div2.setAttribute("id", "div2");
        div2.setAttribute("myAttr", "myAttr");
        bNode[0].appendChild(div2);

        var div1 = //这样创建的文本节点中的标签不会进行编译,只是当成字符串
        document.createTextNode("<div id='div1'>创建了div1</div>");
        bNode[0].appendChild(div1);
        $("body").append("<div id='div3'>div3的文本<div>");

        var dog = {"name":"小何", age:5};//"name"为字符串但是也会转化为name属性
        alert(dog);
        console.log(dog);
//      alert(dog[age]);  []不能添加属性,取不到值
        alert(dog.name);//.形式获取值时一样能够拿到定义时为字符串的属性
//      alert(dog."name");点属性的属性不能写成字符串的形式
        for(var index in dog) {
//          
//          这样拿到的index都是字符串类型,并没有办法像.属性那样获取值,只能用for in循环只能用[]接收数据
            console.log(dog[index]);
            //console.log(dog.index);这种方式无法获取数据
        }

        var arry = ["a", 1, "d", 5];
        alert("正常for循环数组");
        for(var i = 0; i < arry.length; i ++) {
            alert(arry[i]);
            alert("数据类型:" + typeof arry[i]);
        }
        alert("for in 循环数组");
        for(var i in arry) {
            alert(arry[i]);
            alert("数据类型:" + typeof arry[i]);
        }

</script>

/*
 * 遍历数组和对象的总结:
 for( in )最好用于遍历对象(数组和对象都能遍历)获取的i为字符串;
 for(var i = 0; i < arr.length; i++)只能用于遍历数组,获取的inumber;
[]形式:[]中不能添加属性,可以添加字符串等等其他类型
.形式:.后只能添加属性名称而且不能写成字符串等形式
 */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值