zoukankan      html  css  js  c++  java
  • JavaScript基础精华03(String对象,Array对象,循环遍历数组,JS中的Dictionary,Array的简化声明)

    String对象(*)
    length属性:获取字符串的字符个数。(无论中文字符还是英文字符都算1个字符。)
    charAt(index)方法:获取指定索引位置的字符。(索引从0开始)
    indexOf(‘字符串’,startIndex)方法:获取指定字符串第一次出现的位置。startIndex表示从第几个开始搜索。
    split(‘分隔符’,limit);//根据分隔符将一个字符串返回为一个数组。limit表示要返回的数组的最大长度(可自定义)。多个分隔符使用正则表达式:var msg = 'a★b★c☆d☆e#f';var vals = msg.split(/☆|★|#/);alert(vals);
    substr(startIndex,len)//从startIndex开始,截取len个字符。
    substring(startIndex,stopIndex)//从startIndex开始,截取到stopIndex位置(不包括stopIndex所在的字符)。

    toUpperCase()//转换大写、toLowerCase();//转换小写


    Array对象
    JavaScript中的Array对象就是数组,首先是一个动态数组,而且是一个像C#中数组、ArrayList、Hashtable等的超强综合体。
    数组的使用方式:
    var names = new Array();//无需初始化长度,动态
    names[0] = "tom";
    names[1] = "jerry";
    names[2] = "lily";



    循环遍历数组(for循环):

    for (var i = 0; i < names.length; i++) {
        alert(names[i]);
    }
    循环遍历数组(forin循环):类似于c#中的foreach.
    for (var i in names) {
       alert(names[i]);//如果直接输出i是什么?
    }
    使用forin循环可以遍历对象的所有属性。
    forin循环其实遍历的还是key.
    数组的其他几种声明方式:
    new Array(); 
    new Array(size); 
    new Array(element0, element0, ..., elementn);
    var arr = [‘China’, 2008, true, ‘Hello’];(推荐。)

    arr[0]à'China'

    arr[1]à2008


    JS中的Dictionary
    JS中的Array是一个宝贝,不仅是一个数组,还是一个Dictionary,还是一个Stack
    var pinyins = new Array();
    pinyins["人"] = "ren";
    pinyins["口"] = "kou";
    pinyins["手"] = "shou";
    alert(pinyins["人"]);
    alert(pinyins.人);
    字典风格的简化创建方式:
    var arr = {“人”:”ren”,“口”:”kou”};//json格式。
    像Hashtable、Dictionary那样用,而且像它们一样效率高。
    不能直接用for循环遍历,需要用forin循环。
    Dictionary风格数组的length为0。所以不能用for遍历。
    键值对集合也是对象json格式,同样的键值对的key也不能重复,也不能以数字开头


    Array的简化声明
    JSON格式:
    var arr={“name”:”tom”,”age”:18,”email”:’tom@itcast.cn’};
    Json格式可以当做一个对象。
    arr.name、arr.age、arr.email
     var arr=[         {"name":"steve","age":18},         {"name":"steve","age":18}         ];//json对象数组。
    在Ajax中使用JSON格式传输数据非常方便。
    =================JSON的一些其他写法======================
    一般写json对象的时候 键和值都是用引号引起来,字符串用引号,值如果是数字就不用了
    值也可以存储函数
    键值可以嵌套
    ====================JSON================================
    1.
    var personalInfo = { "name": "周杰伦", "age": 20, "address": { "city": "beijing", "country": "China"} };
            alert(personalInfo.name);
            alert(personalInfo.age);
            alert(personalInfo.address.city);
            alert(personalInfo.address.country);


    2.
    var students = [{ "id": "1001", "name": "james" }, { "id": "1002", "name": "bob"}];
            for (var i = 0; i < students.length; i++) {
                alert(students[i].id + "===>" + students[i].name);
            }
    ================Array的其他方法========================
    Array.join(“连接字符串”)//将数组中的元素通过指定的“连接字符串”连接起来,返回一个字符串。
    Array.reverse();//将数组中的元素反转。
    Array.sort();//排序

    SortByAsc(a,b){
    return a-b;
    }
    Array.sort(SortByAsc);



    扩展方法(*)”原型”→”prototype”
    通过类对象的prototype设置扩展方法,下面为String对象增加quote(两边加字符)方法
            String.prototype.quote = function(quotestr) {
                if (!quotestr) {
                    quotestr = """;
                }
                return quotestr + this + quotestr;
            };
            alert("abc".quote());        alert("abc".quote("|"));
    扩展方法的声明要在使用扩展方法之前执行。JS的函数没有专门的函数默认值的语法,但是可以不给参数传值,不传值的参数值就是undefined,自己做判断来给默认值。

  • 相关阅读:
    罗振宇 知识就是力量之怎样做一个不冲动的人
    C++中stl的map
    stl中顺序性容器,关联容器两者粗略解释
    stl之容器、迭代器、算法几者之间的关系
    mysql技术内幕之常规使用
    essential c++ 第一章 array及vector相关使用
    由函数clock想到的
    编程获得CPU的主频
    Markdown 基本语法
    Future FutrueTask Callable类源码说明以及原理使用
  • 原文地址:https://www.cnblogs.com/CSharpLover/p/5193664.html
Copyright © 2011-2022 走看看