JavaScript的标准对象
[TOC]
Date
在JavaScript中,
Date
对象用来表示日期和时间。常用api
1234567891011var now = new Date();now; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)now.getFullYear(); // 2015, 年份now.getMonth(); // 5, 月份,注意月份范围是0~11,5表示六月now.getDate(); // 24, 表示24号now.getDay(); // 3, 表示星期三now.getHours(); // 19, 24小时制now.getMinutes(); // 49, 分钟now.getSeconds(); // 22, 秒now.getMilliseconds(); // 875, 毫秒数now.getTime(); // 1435146562875, 以number形式表示的时间戳创建一个指定的时间
12var d = new Date(2015, 5, 19, 20, 15, 30, 123);//由于设计者的脑抽,所以这里的5代表6月份,月份从0开始的
正则表达式
js中的正则表达式
12var re1 = /ABC\-001/; //直接通过/正则表达式/格式创建var re2 = new RegExp('ABC\\-001'); //通过创建RegExp对象常用功能
切分字符串
1'a b c'.split(/\s+/); // ['a', 'b', 'c']判断是否匹配
1234var re = /^\d{3}\-\d{3,8}$/;re.test('010-12345'); // truere.test('010-1234x'); // falsere.test('010 12345'); // false分组(即提取子串)
1234///^(\d{3})-(\d{3,8})$分别定义了两个组,可以直接从匹配的字符串中提取出区号和本地号码:var re = /^(\d{3})-(\d{3,8})$/;re.exec('010-12345'); // ['010-12345', '010', '12345']re.exec('010 12345'); // null全局搜索
通过全局标志符号说明是全局搜索。
123var r1 = /test/g;// 等价于:var r2 = new RegExp('test', 'g');进行全局搜索
1234567891011121314151617var s = 'JavaScript, VBScript, JScript and ECMAScript';var re=/[a-zA-Z]+Script/g;// 使用全局匹配:re.exec(s); // ['JavaScript']re.lastIndex; // 10re.exec(s); // ['VBScript']re.lastIndex; // 20re.exec(s); // ['JScript']re.lastIndex; // 29re.exec(s); // ['ECMAScript']re.lastIndex; // 44re.exec(s); // null,直到结束仍没有匹配到正则表达式还可以指定
i
标志,表示忽略大小写,m
标志,表示执行多行匹配。
JavaScript中的json
序列化为json
123456789101112131415161718192021var xiaoming = {name: '小明',age: 14,gender: true,height: 1.65,grade: null,'middle-school': '\"W3C\" Middle School',skills: ['JavaScript', 'Java', 'Python', 'Lisp']};//普通转化JSON.stringify(xiaoming);//筛选转化,第二个参数代表输出指定的属性JSON.stringify(xiaoming, ['name', 'skills'], ' ');//通过函数预处理转化function convert(key, value) {if (typeof value === 'string') {return value.toUpperCase();}return value;}JSON.stringify(xiaoming, convert, ' ');反序列化为对象
12345678910//普通转化JSON.parse('{"name":"小明","age":14}'); // Object {name: '小明', age: 14}//加强转化JSON.parse('{"name":"小明","age":14}', function (key, value) {// 把number * 2:if (key === 'name') {return value + '同学';}return value;}); // Object {name: '小明同学', age: 14}