对象
###对象的分类:
1 本地对象: Aarry ,Object 需要用new的方式去调用 。
2 内置对象:Global(全局) ,Math (数学) ,Json 。
(Global 在 node指向全局;window 在浏览器里指向全局)。
(本地对象,内置对象属于ECMA,内置对象属于本地对象,后面统称“内置对象”)
3 宿主对象:Bom Dom (由运行环境提供需要用到浏览器)。
eval( );将字符串转化成可运行的JS代码。
例: eval("console.log("hello")" );
###Math 对象的常用方法 :
1 abs 返回值 把负数转化成整数
格式:console.log(Math.abs(-7.23); 输出7
2 floor 对数向下取整
格式:console.log(Math. floor(4.73); 输出4
3 向上取整 ceil
格式:console.log(Math. ceil(4.73); 输出5
4 返回最大值 max (x,y) 括号里用逗号隔开,可以0个到多个
格式:console.log(Math. max(4,7,8,3); 输出8
5 返回最小值 min (x,y) 括号里用逗号隔开,可以0个到多个
格式:console.log(Math. min(4,7,8,3); 输出3
6 返回X的Y次方 pow(x,y)
格式:console.log(Math. pow(2,3); 输出8
7 randow() 不需要参数,生成0-9的随机数
###Date 对象的方法:
创建Date对象的语法:
例:let dt = new Date( ); // Date( )括号里可以传参(年,月,日)
console.log(dt);
getDate() 当月的某一天
例:let dt = new Date();
console.log(dt.getDate() );
getDay() 返回一周中某一天
例:let dt = new Date();
console.log(dt.getDay());
getMonth() 返回的月份,获取的月份比实际的月份少1个月
例:let dt = new Date();
console.log(dt.getMonth());
getFullYear() 返回年份
例:let dt = new Date();
console.log(dt.getFullYear());
setDate() 设置当月的某一天
例:let date = new Date();
date.setDate(15); //输出当月的15 号
console.log( date);
设置成某一月 setMonth(2) 差一月
例:let month = new Date();
month.setMonth(2); // 输出三月
month.setMonth(2,20); // 输出3-20
console.log( month);
//设置成某一年 setFullYear()
例:let year = new Date();
year.setFullYear(2019); // 输出2019
year.setFullYear(2019,2,20); // 输出2019-3-20
console.log(year);
setHours( ) 设置本地时间
getHours( ) 获取本地时间
RegExp 正则表达式 :属于引用类型
1 字面量方式:let re = /a/b;
2 构造函数方式:let re = new RegExp (a,b);
a :模式 (数据验证规则);
b :修饰符(是否区分大小写,是否全局查找);
###正则对象的方法:
方法1: test(" ") 括号里接收一个参数必须是字符串。
例:let str = "abc";
let re = /a/;
console.log(re.test(str)); 输出:true
方法2: exe(" ")
例:let str = "babcd";
let re = /a/;
console.log(re.exe(str));
方法3:compile( ) 作用:改变正则 ,用的较少
re.compile("b") 将"a"改为 "b"
###修饰符
1. i :不区分大小写
2. g : 对整个字符串进行匹配
3. m : 多行匹配
能用到m 的地方就能用g ,用g 的地方不一定能用m
例: let re = /a/i;
console.log(re.test("ABC")); 输出 true
###方括号[]
1.[123abc] 查找方括号中的任意字符,只要找到其一。就返回true.
2.[^abc] 包含了除abc以外的其他字符,则返回true. ^表示非 ,以下几种都行。
例: let re = /[^abc]/;
console.log(re.test("abc")); 输出False
console.log(re.test("1abc")); 输出 true
3.[0-9]或[a-z]查找0-9/a-z之间的任意数字。
例:let re = /[0-9]/;
console.log(re.test("abc1")); 输出 true
讲求从小到大的顺序
4.[A-z] 查找所有的大小写字母
5.let re = /[a-z0-9]/;
console.log(re.test("abc123"));
###元字符 \转义符
1. \w(小写) 等同于[0-9A-Z_],包含0-9,A-Z下划线,只要包含其一就是真
例: let re = /\w/;
console.log(re.test("_")); 输出 true
2. \W(大写) 等同于[^0-9A-z]
let re = /\W/;
console.log(re.test("123abc"));
3. \d 等同于[0-9]
4. \D 等同于[^0-9]
5. \s(小写) 查找空白字符
6. \S 查找非空白字符
###量词
1. n+ 匹配包含至少一个n的字符串
let re = /a+b/;
console.log(re.test("bbb")); 输出False
2. n* 匹配0个或多个
3. n? 匹配0个或1个
4. z(小写) 记录数字,z个
let re = /a{5}/;
console.log(re.test("aaaa")); 输出False
console.log(re.test("aaaaa")); 输出true
5. {n,m} n 到m个
6. {n,} n 到多个
7. ^n 以n开头
8. a$ 以$结束
例:let re = /^a{6}$/;
console.log(re.test("aaaaaa")); 输出true
例:let re = /^a{6}$/;
console.log(re.test("aaaaaa")); 输出true
###其他符号
1. . 表示匹配除了回车,换行,制表符以外的其他任意字符
2. | 表示或
3. () 表示分类
例: let re = /^(13|15|18)\d{9}$/;
console.log(re.test("121111")); 输出False
4 \ 转义符
###字符串的方法( 正则亦可用)
1. search ()
let str = "hello";
let re = /e/;
console.log(str.search(re)) ; 输出 1 返回下标 是 hello的小标
2. Match()
let str = "abc efg abc abcd ab cdf ";
let re = /abc/g;
console.log(str,match(re)); 输出 ['abc', 'abc']
3. replace()
let str = "abc efg abc abcd ab cdf ABC ";
let re = /abc /;
console.log (str.replace (re."DEF));
参1 :要匹配的东西
参2 :要替换的新东西。