javasript学习总结二

1.Array

function iniArray(){
//    1.比较标准的初始化方式,同时体现了JS其实也是OOP,也同时体现了作为弱数据类型不够严谨的一面,非常灵活的一面(数组长度可动态变化,类似于C#中
//    的List或者ArrayList甚至dictionary)
    var studentNames = new Array();
    studentNames[0] = "xiaPeng";
    studentNames[1] = "wangHaiShan";
    studentNames[2] = "wangHaiShan";
    studentNames[3] = "chenJin";
    studentNames[4] = "zhuYiYu";
    studentNames[5] = "jiangFeng";
//    2.非常直接的初始化方式,在声明的同时赋初值,和C#不一样的是数组的外面的括号是中括号,而不是大括号
//    var studentNames = ["xiaPeng","wangHaiShan","wangHaiShan","chenJin","zhuYiYu","jiangFeng"];
//    3.剑走偏锋的初始化方式,不推荐使用,只需要了解即可
//    虽然是同一个数组,但是语法上允许有不同的数据类型存储在同一个数组中,一般不建议这么做,毕竟一个数组最佳状态就是描述一个逻辑含义,而一个逻辑含//    义照理来说也不应该出现多个数据类型
//    var studentNames = ["xiaPeng",123];
    return studentNames;
}

function displayArray(){
    var testArray = iniArray();
    for ( var index = 0; index < testArray.length; index++ ){
        document.write(testArray[index] + "<br/>");
    }
}

function displayArrayMethodTest(){
    var testArray = iniArray();
    //利用第一个参数作为分隔符号来连接数组中各个元素,由于html的特性,可以将分隔符号设置为标签或者标签的一部分,从而达到快速展示数组的目的
    //document.write(testArray.join("<br/>") + "<br/>");
    //pop:删除最后一个元素,并将最后一个被删除的元素作为该函数的返回值,最终数组的长度也会相应减1
    //document.write(testArray.pop() + "<br/>");
    //document.write(testArray.join("<br/>") + "<br/>");
    //push:添加一个或者多个新元素,并且返回填充新元素后数组最新长度
    document.write(testArray.push("fangJing","sunWangShuang","fanLinLin","maGuoShuo") + "<br/>");
    document.write("添加完新元素后的数组:<br/>" + testArray.join("<br/>") + "<br/>");
}
   
function iniPlanarArray(){
//    直接的初始化方式,也可以通过传统的遍历来进行赋值
//    var names=[["liKe","yanXuJie","wangXiaoLe","luLingFei","shenZhongXing","zhangCheng","wuJiaoJian"],["xiaPeng","guGong","fangMin",
//    "heZhengTian","fanJianHua","minXiaoZhong"]];
//    return names;
    var numbers = new Array(); 
    var rowIndex = 5;
    var colIndex = 5;
     for ( var index = 0; index < rowIndex; index++ ){
        numbers[index] = new Array();
        for ( var count = 0; count < colIndex; count++ ){
//            if(index == 0){
//                numbers[index][count] = count + 1;
//            }
//            else{
//                numbers[index][count] = numbers[index-1][count]+1;
//            }
            numbers[index][count] = index  + count + 1;
        }
     }
     return numbers;
}

function displayPlanarArray(){
    var testArray = iniPlanarArray();
    testArray.reverse();
//    遍历几维数组就应该内嵌几层循环,为了突然二维效果,我们将每一维显示成一行
//    处于同一个多维数组中的元素,每个元素的长度不一定要一致
    for ( var index = 0; index < testArray.length; index++ ){
        testArray[index].reverse();
        for ( var count = 0; count < testArray[index].length; count++ ){
            document.write("<div style='float:left;width:50px;'>" + testArray[index][count] + "</div>");
        }
        document.write("<br/>");
    }
}

//1 2 3 4 5
//2 3 4 5 6
//3 4 5 6 7
//4 5 6 7 8
//5 6 7 8 9

//9 8 7 6 5
//8 7 6 5 4
//7 6 5 4 3
//6 5 4 3 2
//5 4 3 2 1

 

2.类对象类型的比较和获取

//类person

 function Person(){
        document.write("Person is constructor" + "<br/>");
    }
//2. 会使用属性
//    Person();                       将Person作为普通函数来对待
    var tmpPerson = new Person();   //类名,用构造函数定义了一个类,这里用该类进行实例化对象
    tmpPerson.name = "zhangSan";
    tmpPerson.feeling = 80;
    tmpPerson.money = 90;
//    document.write(typeof tmpPerson + "<br/>");
//    document.write(tmpPerson.constructor + "<br/>");
//    document.write(tmpPerson["name"] + "<br/>");
   
   
   
    /*var number = 80;
    document.write(typeof number + "<br/>");
    document.write(number.constructor + "<br/>");
   
    var chars = "xiaPeng";
    document.write(typeof chars + "<br/>");
    document.write(chars.constructor + "<br/>");
   
    document.write(typeof Person + "<br/>");        //对象名,将他作为对象名,来获取其类型和构造函数
    document.write(Person.constructor + "<br/>");
//判断你是什么类型
    if(tmpPerson instanceof Person){
        document.write("tmpPerson is a Person" + "<br/>");
    }
   
    if(tmpPerson.constructor == Person){        //Person看做是构造函数的名字和对象的构造函数才有相等的可能性
        document.write("tmpPerson is a Person" + "<br/>");
    }
    var tmpPersonTwo = new Person();   //类名,用构造函数定义了一个类,这里用该类进行实例化对象
    tmpPersonTwo.name = "liSi";

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值