Javascript笔记(四)

一、JSON对象

var str1 = '{"name": "MONICX", "age": 18}';
var obj1 = {"name": "MONICX", "age": 18};
// JSON字符串转换成对象
var obj = JSON.parse(str1); 
// 对象转换成JSON字符串
var str = JSON.stringify(obj1);

二、Date对象

日期的对象,在JS中通过Date对象来表示一个时间
创建对象
    创建一个当前的时间对象
        var d = new Date();
    创建一个指定的时间对象
        var d = new Date("月/日/年 时:分:秒");


getDate()
	- 当前日期对象是几日(1-31)
	
getDay() 
	- 返回当前日期对象时周几(0-6)
		- 0 周日
		- 1 周一 。。。
		
getMonth()
	- 返回当前日期对象的月份(0-11)
	- 0 一月 1 二月 。。。
getFullYear() 从 Date 对象以四位数字返回年份。 

getHours() 返回 Date 对象的小时 (0 ~ 23)。 
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。 
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。 
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。 

getTime()
	- 返回当前日期对象的时间戳
	- 时间戳,指的是从1970年月1日 0时0分0秒,到现在时间的毫秒数
		计算机底层保存时间都是以时间戳的形式保存的。
		
Date.now()
	- 可以获取当前代码执行时的时间戳

例子:

// 编写代码,将当前日期按“2017-12-27 11:11 星期三”格式输出。
const WEEKMAP = {
    0: "星期日",
    1: "星期一",
    2: "星期二",
    3: "星期三",
    4: "星期四",
    5: "星期五",
    6: "星期六",
};


function showTime() {
    var d1 = new Date();
    var year = d1.getFullYear();
    var month = d1.getMonth() + 1;
    var day = d1.getDate();
    var hour = d1.getHours();
    var minute = d1.getMinutes() < 10 ? "0"+d1.getMinutes() :d1.getMinutes();

    var week = WEEKMAP[d1.getDay()];  // 0~6的星期

    var dateStr = `
        ${year}-${month}-${day} ${hour}:${minute} ${week}
    `;
    console.log(dateStr)
}

三、Math对象

Math属于一个工具类,它不需要我们创建对象,它里边封装了属性运算相关的常量和方法

我们可以直接使用它来进行数学运算相关的操作。

方法:
	Math.PI
		- 常量,圆周率
	Math.abs(x)
		- 绝对值运算
	Math.ceil(x)
		- 向上取整
	Math.floor(x)
		- 向下取整
	Math.round(x)
		- 四舍五入取整
	Math.random()   
		- 生成一个0-1之间的随机数
		- 生成一个x-y之间的随机数
			Math.round(Math.random()*(y-x)+x);
	Math.pow(x,y)
		- 求x的y次幂
	Math.sqrt(x)
		- 对一个数进行开方
	Math.max(x,y)
		- 求多个数中最大值
	Math.min(x,y)
		- 求多个数中的最小值

四、正则对象(RegExp)

正则用来定义一些字符串的规则,程序可以根据这些规则来判断一个字符串是否符合规则,
也可以将一个字符串中符合规则的内容提取出来。
创建正则表达式
var reg = new RegExp("正则","匹配模式");

var reg = /正则表达式/匹配模式

var reg1 = new RegExp('[a-zA-Z][a-zA-Z0-9]{5,11}')
var reg2 = /[a-zA-Z][a-zA-Z0-9]{5,11}/
语法:
    匹配模式:
        i:忽略大小写
        g:全局匹配模式
        设置匹配模式时,可以都不设置,也可以设置1个,也可以全设置,设置时没有顺序要求
        
    正则语法        
        | 或
        [] 或
        [^ ] 除了
        [a-z] 小写字母
        [A-Z] 大写字母
        [A-z] 任意字母
        [0-9] 任意数字
        
方法:
    test()
    可以用来检查一个字符串是否符合正则表达式
    如果符合返回true,否则返回false

正则三个坑

1. 不要加空格。


2. 全局模式g不要乱用。


扫描二维码关注公众号,回复: 1576476 查看本文章

3. test()不传值相当于传undefined,会按照'undefined'处理。



猜你喜欢

转载自blog.csdn.net/miaoqinian/article/details/80528724