javascript基础②-本地对象
Date对象的创建
获取当前日期及时间
1 | var 变量名 = new Date(); |
设置指定时间
1 | var 变量名 = new Date(年,月,日); |
Date对象中的常用方法
to方法组:(
转换
)toString()
把日期转换成字符串toLocaleString()
把日期转换成本地时间(年月日时分秒)toLocaleDateString()
把日期转换成本地时间(年月日)toLocaleTimeString()
把日期转换成本地时间(时分秒)
get方法组:(
获取
)getDate()
获取一个月的某一天日期(1-31)getDay()
获取一周中的某一天(0-6)—(星期天是0)getMonth()
获取月份(0-11)getFullYear()
获取四位数字的年份getHours()
获取小时数(0-23)getMinutes()
获取分钟数(0-59)getSeconds()
获取秒数(0-59)
set方法组:(
设置
)setDate()
设置一个月的某一天日期(1-31)setMonth()
设置月份(0-11)setFullYear()
设置四位数字的年份setHours()
设置小时数(0-23)setDay
(这个真没有!!!!
,星期是通过设定日期自动计算的
)setFullYear(year,month,day)
year
:必需
表示年份的四位整数。month
:可选
,介于0 ~ 11
之间。如果不填,取系统当月-1为去年的最后一个月,12为明年的第一个月,13为明年的第二个月。day
:可选
,表示月中某一天的数值。如果不填,取系统当日本地时间表示。介于 1 ~ 31 之间,0 为上个月最后一天,-1 为上个月最后一天之前的天数,如果当月有31天: 32 为下个月的第一天,如果当月有30天: 32 为下一个月的第二天。
setHours
(hour
,min
,sec
,millisec
)- 可以有4个参数
- hour:小时
- min:分钟
- sec:秒
- millisec:毫秒
字符串的常用方法
length
: 获取字符串的长度1
2var str = "中华人民共和国";
alert( str.length); // 7slice(start[,end])
截取字符串,start
–开始索引end
–结束索引
返回:包含开始位置,不包含结束位置(含头不含尾)1
2var str = "中华人民共和国";
var str1 = str.slice(2,4);//人民substring(start [,end])
截取字符串,start
:开始的索引位置,end
: 结束的索引位置(不写到末尾)
返回:包含开始位置,不包含结束位置(含头不含尾)1
2var str = "中华人民共和国";
var str1 = str.substr(2,4); //人民substr(start[,length])
,start
:开始的索引位置,取length
个字符(不写到末尾)1
2var str = "中华人民共和国";
var str1 = str.substr(2,5); //人民共和国split()
,按条件分割字符串,返回一个字符串数组1
2
3
4var str = "中华人民共和国";
var arr = str.split(""); //["中", "华", "人", "民", "共", "和","国"]
var str1 = "杏|石|口|路|81|号";
var arr1 = str1.split("|"); //["杏", "石", "口", "路", "81", "号"]indexOf()
:在父串中首次出现的位置索引,从0开始!没有就返回-1lastIndexOf()
:倒序查找charAt(index)
:获取指定索引的字符toLowerCase()
:转小写toUpperCase()
:转大写
数组
Array (数组)对象用于在单个的变量中存储多个值。数组可存放任意数据类型,并通过索引来访问每个元素。
数组的声明
先声明再赋值:
- 声明方式1:var arr = new Array(); // 可根据需要在( )中指定长度
- 声明方式2:var arr = [];
赋值:数组名[索引] = 值; // arr[0] = 10;
直接声明并赋值
1
var arr = new Array(“值1”,,,,,,“值N”);
数组的长度:数组名.length
数组的遍历方式
循环遍历
1
2
3for (var i = 0; i < arr.length; i++) {
document.write(arr[i]);
}直接输出数组名
1
document.write(arr);
数组的常用方法:
join()
: 用指定的元素对数组进行分割。1
2var arr = [10,20,30];
document.write(arr.join(“*”)); // 10*20*30indexOf
:搜索一个指定的元素的位置,如未找到返回 -1;1
2
3
4var arr = [10,20,"30","abc"];
console.log(arr.indexOf(10)); //元素10的索引为0
console.log(arr.indexOf(30)); //元素30未找到,返回-1
//注意:数字30和字符串"30"是不同元素concat()
:把当前的数组 和 另一个数组连接起来,并返回一个新的 数组;1
2
3
4
5var arr1 = ["a","b","c"];
var arr2 = [1,2,3];
var newArr = arr1.concat(arr2,"再次添加");
console.log(newArr); //["a","b","c",1,2,3,"再次添加"];
console.log(arr1); //["a","b","c"]push()
:向数组的末尾添加若干元素1
2
3
4
5
6
7
8
9
10
11
12pop(): 把数组的最后一个元素删除掉
var arr = [1,2];
arr.push("a","b");
console.log(arr);//[1,2,"a","b"]
arr.pop(); //返回“b”;
console.log(arr); //[1,2,"a"]
arr.pop();
arr.pop();
arr.pop(); //连续3次pop,空数组继续pop不会报错
console.log(arr); //打印[]unshift()
: 向数组前面添加若干元素shift()
: 则把数组的第一个元素删除掉1
2
3
4
5
6
7
8
9
10
11
12var arr = [1,2];
arr.unshift("a","b"); //返回新长度 4
console.log(arr);//打印["a","b",1,2]
arr.shift();//返回"a"
console.log(arr); //打印["b",1,2]
arr.shift();arr.shift();arr.shift(); //连续3次
console.log(arr); //打印[]
arr.shift(); //空数组继续删除不报错,返回undefined
console.log(arr); //打印[]slice()
: 截取数组的部分元素,然后返回一个新的数组1
2
3
4
5
6
7var arr = ["a","b","c","d","e","f","g"];
console.log(arr.slice(0,3)); //从索引0开始,到索引3结束,但不包括3:["a","b","c"]
console.log(arr.slice(3)); //从索引3开始到结束:"d","e","f","g"
如果不给slice()传递任何参数,他就会从头到尾截取所有元素。利用这一点,可以很容易的复制一份新的数组
var arr = [1,2,3];
var aCopy = arr.slice();
console.log(aCopy); //[1,2,3]sort()
: 可以对当前数组排序1
2
3var arr = ["b","c","a"];
arr.sort();
console.log(arr);//["a","b","c"]reverse()
: 把整个数组的元素给掉个个,也就是反转1
2
3var arr = ["one","two","three"];
arr.reverse();
console.log(arr); //["three","two","one"]join()
: 把数组的每个元素用指定的字符串连接起来,然后新的字符串1
2var arr = ["a","b","c",1,2,3];
arr.join("-"); //"a-b-c-1-2-3"splice()
: 是修改数组的“万能方法”,他可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素;1
2
3
4
5
6
7
8
9
10
11
12
13
14//splice(索引值,删除数量,"值1","值2");
var arr = ["苹果","橘子","香蕉","芋头","桂圆","山楂"];
//从索引2开始删除3个元素,然后再添加两个元素
arr.splice(2,3,"白梨","西瓜");
console.log(arr); // "苹果","橘子","白梨","西瓜","山楂"
//只删除,不添加
arr.splice(2,2); //"白梨","西瓜"
console.log(arr); //"苹果","橘子","山楂"
//只添加,不删除
arr.splice(2,0,"白梨","西瓜");
console.log(arr);// "苹果","橘子","白梨","西瓜","山楂"
Math的常用方法
方法 | 说明 |
---|---|
abs() | 绝对值 (去除正负) |
random() | 随机数,0-1之间的随机数,1不会出现 |
round() | 四舍五入 |
floor(x) | 下舍入(向下取整)–地板 |
ceil(x) | 上舍入(向上取整)–天花板 |
max(x,y) | x 和 y 中的最大值 |
min(x,y) | x 和 y 中的最小值 |
cos(x) | 的余弦 |
sin(x) | x的正弦 |
sqrt(x) | 返回x的平方根 |
pow(3,4) | 返回3的4次方 |
Math函数的属性:PI
圆周率。使用方法:Math.PI
全局对象中的常用方法(强制转换)
isNaN()
:判断是否是数字,不是数字返回true,是数字返回false;(isNaN:is not a number
)eval()
把字符串里面的数字进行计算parseFloat()
把字符串转换为小数parseInt()
把字符串转换为整数
函数的定义、调用
函数的概念
函数是ECMAScript的核心,包含一些代码,只有被调用以后才会执行。函数是对象数据类型的一种。
定义函数的语法:
1
2
3function 函数名(参数){
函数体(也称为:方法体);
}函数的调用
函数名(参数值);
正则表达式
正则表达式的概念
RegExp
(正则表达式)是一个对象,就是用一个“字符串”来描述一个特征,然后去校验另一个“字符串”是否符合该特征。主要实现对字符串的匹配
、分割
、查找
、替换
、校验
等操作。元字符
正则模式当中的元字符,通常都具有特殊的含义元字符 说明 a-z 英文小写字母 A-Z 英文大写字母 0-9 数字 \r \n \t 非打印字符 \d 数字,相当于0-9 \D \d 取反 \w 字母 数字 下划线 \W \w 取反 \s 空白字符 \S 非空白字符 [ ] 任意匹配[ ]中单个字符 . 匹配任意字符(换行符除外) {n} 匹配n次 {n,} 匹配至少n次 {n,m} 至少n次,最多m次 * 匹配0个或多个,相当于{0,} + 匹配1个或多个,相当于{1,} ? 匹配0个或1个,相当于{0,1} ^ 1、匹配正则开头 2、放在[^],内容取反 $ 匹配正则结尾 | 匹配 | 两侧任选其一 ( ) 1. 分组 2.子存储 **注意:**正则需要转义字符: ( ) { } ? * + . [ ] \ / ^ $ |
正则的定义:
- 方式1:var re = /正则内容/;
- 方式2:var re = new RegExp(正则内容);
test方法:检索字符串中指定的值。返回 true 或 false。
1
2
3var txt="this a cat, that a dog";
var re=/cat/;
alert(re.test(txt)); //true