javascript基础拾遗(六)
1.Date内置对象
获取系统时间
var now = new Date()
console.log(now)
console.log(now.getDate())
console.log(now.getDay())
console.log(now.getMilliseconds())
2.构造Date对象
var now = new Date(2017, 12, 6)
console.log(now)
console.log(now.getDate())
console.log(now.getDay())
console.log(now.getMilliseconds())
需要注意的是,javascript的月份为0-11,因此,var now = new Date(2017, 12, 6)的时间为2018-01-06
3.RegExp正则
正则声明的两种方式
var re1 = /ABC\-001/;
var re2 = new RegExp("ABC\\-001")
console.log(re1)
console.log(re2)
示例如下:
var re1 = /^\d{3}-\d{3,8}$/;
console.log(re1.test('010-12345'))
console.log(re1.test('010-1234x'))
console.log(re1.test('010 12345'))
运行结果: true false false
正则表达式的作用如下:
1)切分字符串
固定分隔符切分
'a b c'.split(' ');//['a','b',' ','c']
正则规则切分
'a b c'.split(/\s+/);//['a','b','c']
多个空格或逗号切分
'a,b, c'.split(/[\s,]+/)
2)提取子串
var re1 = /^(\d{3})-(\d{3,8})$/;
console.log(re1.exec('010-12345'))
运行结果:['010-12345','010','12345']
括号()表示要提取的分组
3)贪婪匹配,非贪婪匹配
贪婪匹配匹配尽可能多的字符
var re1 = /^(\d+)(0*)$/;
console.log(re1.exec('102300'))
运行结果:["102300", "102300", ""]
非贪婪匹配匹配尽可能少的字符
var re1 = /^(\d+?)(0*)$/;
console.log(re1.exec('102300'))
运行结果:["102300","1023","00"]
4)全局匹配
var r1 = /test/g;
// 等价于:
var r2 = new RegExp('test', 'g');
示例:
var re1 = /^(\d+?)(0*)$/;
var s = 'JavaScript, VBScript, JScript and ECMAScript';
var re=/[a-zA-Z]+Script/g;
console.log(re.exec(s));
console.log(re.lastIndex);
console.log(re.exec(s));
console.log(re.lastIndex);
运行结果:
[JavaScript]
10
[VBScript]
20
全局匹配类似搜索,不能使用/^...$/
正则表达式i,表示忽略大小写,m,表示执行多行匹配
4.JSON对象
JSON是一种数据交换格式
1)可以包含以下几种数据类型:
number:数值
boolean:true/false
string:字符串
null:空对象
array:数组
object:对象{}
示例如下:
var language = {
name: 'javascript',
score: 9.0,
popular:true
}
console.log(language)
var s = JSON.stringify(language)
console.log(s)
运行结果:
{name: "javascript", score: 9, popular: true}
{"name":"javascript","score":9,"popular":true}
2)JSON序列化
JSON.stringify(json_obj, null, ' ');
将JSON对象序列化成JSON格式字符串
第一个参数:要序列化的对象
第二个参数:要输出的属性,或者属性处理函数
如['name'],那么只会输出name属性
或者函数,将string类型的value转大写
JSON.stringify(json_obj, convert, ' ');
function convert(key, value) {
if (typeof value === 'string') {
return value.toUpperCase();
}
return value;
}
第三个参数:属性前添加空格,可以使输出更美观
也可以自定义序列化方法
var language = {
name: 'javascript',
score: 9.0,
popular:true,
toJSON: function(){
return {
'Name': this.age,
'Score': this.score
}
}
}
console.log(language)
var s = JSON.stringify(language)
console.log(s)
3)JSON反序列化
将JSON格式字符串,转化为一个JavaScript对象
JSON.parse('{"name":"小明","age":14}'); // Object {name: '小明', age: 14}
javascript基础拾遗(六)的更多相关文章
- 回归JavaScript基础(六)
主题:引用类型Date.RegExp的介绍. 上节主要主要介绍了Object.Array引用类型.这节将继续为大家介绍引用类型,并对书中的一些知识点进行总结与归纳,也借此巩固自己对JavaScript ...
- JavaScript基础学习(六)—函数
一.函数的定义 1.function语句形式 //1.function语句式 function test1(){ alert("I am test1"); } test1(); 2 ...
- javascript基础拾遗(十三)
1.jQuery的特点 jQuery是目前非常流行的javascript库,理念是"Write Less,Do More" 1)消除浏览器差异 2)简洁的操作DOM方法 3)轻松实 ...
- javascript基础拾遗(十二)
1.javascript的单线程特性 在javascript中,所有的代码都是单线程的 因此所有的网络操作,浏览器事件,都必须是异步执行的,异步执行的逻辑是回调. function callback( ...
- javascript基础拾遗(十一)
1.DOM操作 1)查找 //根据id查找 document.getElementById() //根据html标签查找 documnet.getElementByTagName() //根据样式cl ...
- javascript基础拾遗(十)
1.支持ES6标准的浏览器 IE10+ Chrome Safari Firefox 移动端浏览器统一都支持 需要注意的是,不同浏览器对各个特性的支持也不一样 2.window对象 当前浏览器窗口对象 ...
- javascript基础拾遗(七)
1.对象的继承__proto__ var Language = { name: 'program', score: 8.0, popular: function () { return this.sc ...
- javascript基础拾遗(五)
1.什么是箭头函数 ES6引入的一种新的函数,类似匿名函数,x=>xx 箭头左端为函数参数,右端为函数体 相当于 function (x){ retutn xx } 2.箭头函数的特点 更简洁 ...
- javascript基础拾遗(二)
1.对象定义 定义属性 var language = { name:'javascript', score:9.0 }; console.log(language.name) console.log( ...
随机推荐
- OpenGL实现通用GPU计算概述
可能比較早一点做GPU计算的开发者会对OpenGL做通用GPU计算,随着GPU计算技术的兴起,越来越多的技术出现,比方OpenCL.CUDA.OpenAcc等,这些都是专门用来做并行计算的标准或者说接 ...
- startActivityForResult的使用和用法
startActivityForResult的使用和用法 startActivityForResult 和 onActivityResult在activity间传递数据 AndroidManifest ...
- Swift3 文件操作常用方法汇总
基于swift3的一些常用文件操作方法: 1.创建文件(文件夹) 2.读取文件(根据名称) 3.读取文件(根据路径) 4.判断文件是否存在(根据名称) 5.判断文件是否存在(根据路径) 6.删除指定名 ...
- 【Windows】DOS的常用命令
cmd[[{/c|/k}][/s][/q][/d][{/a|/u}][/t:fg][/e:{on|off}][/f:{on|off}][/v:{on|off}]string] 参数 /c 执行stri ...
- 百度OCR识别示例
文章地址:https://www.cnblogs.com/Charltsing/p/OcrAnswerer.html 最新版为v4.1版,开放一定概率的八窗口体验功能,请截图体验(多点几次图片).更新 ...
- 如何检查后台服务(Android的Service类)是否正在运行?
private boolean isServiceRunning() { ActivityManager manager = (ActivityManager) getSystemService(AC ...
- WARNING: The host 'r6' could not be looked up with /usr/local/mysql/bin/resolveip.
初始化MySQL数据库提示以下信息: # /usr/local/mysql/scripts/mysql_install_db \ > --defaults-file=/etc/my.cnf \ ...
- Android中Is library配置的作用
在Android开发中如果用eclipse开发的话,在配置的时候会有一个选项,Is library一直没有研究明白,经过上网查找,有人归纳了用法,归纳的很好作为保留.解决了我多个项目共享资源的好方法. ...
- [转]如何在 Git 里撤销(几乎)任何操作
任何版本控制系统的一个最有的用特性就是“撤销 (undo)”你的错误操作的能力.在 Git 里,“撤销” 蕴含了不少略有差别的功能. 当你进行一次新的提交的时候,Git 会保存你代码库在那个特定时间点 ...
- postman 定义并使用全局变量
第一步:找到并打开右上角的设置图案 第二步,点击“Global” 按钮 第三步.如图所示,定义全局变量,然后点击“save”即可 第四步:如何使用全局变量,只需要 {{ key }} 即可,如图所示 ...