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,自己做判断来给默认值。

JavaScript基础精华03(String对象,Array对象,循环遍历数组,JS中的Dictionary,Array的简化声明)的更多相关文章

  1. C#基础精华03(常用类库StringBuilder,List<T>泛型集合,Dictionary<K , V> 键值对集合,装箱拆箱)

    常用类库StringBuilder StringBuilder高效的字符串操作 当大量进行字符串操作的时候,比如,很多次的字符串的拼接操作. String 对象是不可变的. 每次使用 System. ...

  2. JavaScript基础第03天笔记

    JavaScript基础第03天笔记 1 - 循环 1.1 for循环 语法结构 for(初始化变量; 条件表达式; 操作表达式 ){ //循环体 } 名称 作用 初始化变量 通常被用于初始化一个计数 ...

  3. javascript循环遍历数组输出key value

    javascript循环遍历数组输出key value用$.each方法肯定不行的 所以采用如下方法<pre> markers = []; markers[2]=3; markers[3] ...

  4. JavaScript基础精华02(函数声明,arguments对象,匿名函数,JS面向对象基础)

    函数声明 JavaScript中声明函数的方式:(无需声明返回值类型) function add(i1, i2) {             return i1 + i2;//如果不写return返回 ...

  5. JavaScript 基础知识(一):对象以及原型

    前言 JavaScript 常被描述为一种基于原型的语言--每个对象拥有一个原型对象,对象以其原型为模板.从原型继承方法和属性.原型对象也可能拥有原型,并从中继承方法和属性,一层一层.以此类推.这种关 ...

  6. JavaScript DOM编程基础精华03(动态设置,层的操作,性能问题)

    代码是否需要放置到onload中  //如果js代码需要操作页面上的元素,则将该代码放到onload里面.         //因为当页面加载完毕之后页面上才会有相关的元素 //如果js代码中没有操作 ...

  7. javascript函数,构造函数。js对象和json的区别。js中this指向问题

    函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块.好处:在出现大量程序相同的时候,可以封装为一个function,这样只用调用一次,就能执行很多语句.(1)语法:函数就是包裹在花括号中的代码 ...

  8. JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype

    一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...

  9. JavaScript基础精华01(变量,语法,数据类型)

    JavaScript是一种脚本语言. 脚本,一条条的文字命令.执行时由系统的一个解释器,将其一条条的翻译成机器可识别的指令,然后执行 JavaScript基本组成 1.基本语法(浏览器基本都支持,有统 ...

随机推荐

  1. HTML5的页面资源预加载技术(Link prefetch)加速页面加载

    不管是浏览器的开发者还是普通web应用的开发者,他们都在做一个共同的努力:让Web浏览有更快的速度感觉.有很多已知的技术都可以让你的网站速度变得更快:使用CSS sprites,使用图片优化工具,使用 ...

  2. android控件之EditText

    EditText继承关系:View-->TextView-->EditTextEditText的属性很多,这里介绍几个:android:hint="请输入数字!"//设 ...

  3. Flash制作遇到的小问题1--为何变形需要将图形打散(Ctrl+b)

    今天上Flash实验课遇到一个小问题,就是我在画一个矩形如下图:

  4. windows server 2008 下安装openmeetings 2.2.0

    经过两天的痛苦经历,终于完成了openmeetings的安装部署.其实步骤都很简单,只是网上的资料都是英文的,而且很多教程都是针对openmeeting之前的版本,导致我在部署的时候走了很多弯路.网上 ...

  5. C# Winform 拖放操作

    http://www.cnblogs.com/imlions/p/3189773.html 在开发程序的时候,为了提高用户的使用体验,或满足相关用户的功能,总是离不开拖放功能.而本文是总结winfor ...

  6. Python的map、filter、reduce函数 [转]

    1. map函数func作用于给定序列的每个元素,并用一个列表来提供返回值. map函数python实现代码: def map(func,seq): mapped_seq = []        fo ...

  7. oracle merge into 语法

    MERGE INTO upperLowerLimitData t1 USING (select name,enname,starttime,value ...   from dual) t2 ON ( ...

  8. P2661 信息传递 强连通分量

    题目链接: http://www.luogu.org/problem/show?pid=2661 题解: 这题求最小的单向环. 可因为每个节点初度为1,所以所有的强联通分量都只能是单向环. 所以就是有 ...

  9. HDU 4162 Shape Number

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4162 题意: 求给定字符的一阶差分链的最小表示. 题解: 先求一阶差分链,再求一阶差分链的最小表示法 ...

  10. Ext学习-HelloWorld以及基础环境搭建

    1.目的    在eclipse中搭建EXTJS的基础环境,学习如何按照从官方下载的代码中搭建新的Extjs工程 2.主要包含内容:   1.ExtJS文件下载以及目录说明   2.ExtJS开发环境 ...