万物皆对象
什么是对象:
特有的属性(属性)
特有的行为(方法)
JavaScript中的对象可以是生活中具体事务的一个抽象。
JavaScript中的对象是无序属性的集合。
创建对象的方法:
1.new 关键字
2.字面量
对象的属性: 可以是任意类型。 分为属性名与属性值。 是键值对。 一个键对应一个值。 一个属性名对应一个属性值。
新增属性:
1.对象名.属性名 = 属性值
2.对象名['属性名'] = 属性值
两种方式区别:
第二种方式中的属性名可以用变量。第一种不可以。
第二种方式可以拼接字符串,第一种不可以。
使用属性:
语法:对象名.属性名
删除属性:
delete关键字
语法: delete 对象名.属性名
修改属性值:
1.对象名.属性名 = 属性值
2.对象名['属性名'] = 属性值
当你去修改一个属性值的时候,如果该属性不存在,则为新增。如果存在则为修改。
、
检查某个属性是否在对象里边可以用 “in"
格式:("属性名” in 对象名);
返回值是布尔值
当我们不知道某一个对象里边的属性值的时候,可以使用 for...in{} 语句将该对象里边的属性枚举出来
变量是任意的
for (var 变量 in 对象名){
console.log("属性名:"+变量);
console.log("属性值:"+对象名[变量]);
}
JS对象有内置对象跟自定义对象:
1.内置对象 属性和方法系统是定义好的
2.自定义对象 需要我们自己定义属性和方法
内置对象: math
1. Math.random
作用:返回一个0-1的随机数(只包含0,不包含1)
如果需要一个0-n的值,则用Math.random*n
需要你需要一个n-m的值,先求出0-(m-n)的值,然后再+n。
parseInt(Math.random()*(m-n)+n)
2. Math.max(num1,num2)
作用:返回两个参数中最大的数。
3. Math.min(num1,num2)
作用:返回两个参数中最小的数。
4. Math.abs(num)
作用:返回参数的绝对值。
5. Math.round(num)
作用:对参数进行四舍五入 (只看小数点后面的一位)
6. Math.ceil(num)
作用:向上取整
7. Math.floor(num)
作用:向下取整
8. Math.pow(x,y)
作用:求x的y次方
9. Math.sqrt(num)
作用:开平方
Date 日期对象:
创建日期对象的方法:
1.new关键字。 var date = new Date();
2.new关键字,但是可以参入参数。
【不参入参数默认是当前的时间】
【注意】
var date3 = new Date(2020,06,01,15,30,06);
使用上面的方式,月份是从0开始计算的,06就是七月份。
Date对象的方法
【注意】Z
我们现在在东八区,所以距离格林威治也就是系统真正的时间有8个小时的时差。
1. Date.parse(date);
参数:日期对象
功能:将日期对象转为毫秒数。
2. setTime(n)
参数:数字,表示毫秒数
功能: 设置距离1970年1月1日0零整的毫秒数时间。 比如:设置1000ms,就表示系统的开始时间(1970年1月1日 00:00:00 )的1000ms后的时间。
3. getTime()
功能:获取1970年1月1日0零整到日期对象之间的毫秒数。
4. setDate()
功能:设置日期对象的日期天数。
5. getDate()
功能:
获取日期对象对应的日期天数。
6. getDay()
功能: 获取日期对象中在一周内的第几天 (0-6) 星期日为0
7. setMonth()
设置日期对象的月份。
【注意】月份是从0开始的,范围是0-11 1月份是0,2月份是1.
8. getMonth()
获取日期对象的月份。 从0 开始9.
9. setFullYear()
设置日期对象的年份
10. getFullYear()
获取日期对象的年份
11. setHours()
设置日期对象的小时数。
12. getHours
获取日期对象的小时数。
13. setMinutes()
设置日期对象的分钟数
14. getMinutes()
获取日期对象的分钟数
15. setSeconds()
设置日期对象的秒数
16. getSeconds()
获取日期对象的秒数
17. setMilliseconds
设置日期对象的毫秒数
18. getMilliseconds
获取日期对象的毫秒数
19. getTimezoneOffset()
获取本地时间与格林威治时 之间的分钟差。
东八区 返回 -480
Date.parse()与getTime()区别
1.共同点:距离1970年1月1日零点整的毫秒数。
2.Date.parse() 获取的是 年月日时分秒转换过来的毫秒数,不包含秒数后面的毫秒数。
getTime()获取的包含毫秒数
String对象
字符串的创建
1.字面量的方式创建
var str = "hello,word";
2.内置构造函数创建
var str = new String("hello,word")
属性:
length:字符串的长度。
String对象的几种方法:
1.charAt(索引 /index)
返回值:该索引位置的字符。
2.charCodeAt(索引/index)
返回值:该索引位置的字符的UFT-8编码。
3.substr(开始索引,n/多少个)
功能:截取字符串。从开始的下标索引截取n个。
不会对原数组操作影响。
4.substring(开始索引,结束索引)
功能:截取字符串,从开始索引开始截取,到结束索引停止截取。(含头不含尾)
不会对原数组操作影响。
5.toLocaleLowerCase()
作用:将大写字母转小写。
返回值:转换结束的字符串。
6.toUpperCase()
作用:将小写字母转大写。
返回值:转换结束的字符串。
7.replace(’被替换的字符‘,’替换的字符‘)
作用:将字符串中一些字符,替换成另一些字符。只会替换第一个。
返回值:替换好的字符串。
8.concat(字符串)
作用:拼接字符串
9.slice(开始索引,结束索引)
含头不含尾
功能:截取字符串
与substring的区别在于,slice使用负整数时,表示length+负整数。
10.split(分隔符,【多少个】)
功能:分隔字符串
参数:
第一个为分隔符,表示按照哪个字符对字符串进行分隔。
第二个参数可选,表示分隔好的字符,返回多少个。 不写,默认返回全部
返回值: 数组。
11.indexOf(字符串片段,【开始查询的索引】)
作用:在字符串中查找指定的字符串片段,
返回值:如果找到,返回首字符的索引,没有找到,返回-1.
12.includes(字符串片段)
作用:查找字符串中是否包含该字符串片段。
返回值:布尔值,包含就返回true,不包含就false、
13.trim()
作用:去除首尾空格。
返回值:去除空格后的字符串
14.padStart(目标长度,填充字符);
作用:从前面开始补齐字符串。
参数:
第一个表示你要将现有的字符串的长度补充到多少。
第二个参数表示你要用什么字符去补齐。
返回值:补齐后的字符串,不会对原有的字符串造成影响。
15.padEnd(目标长度,填充字符)
作用:从后面开始补齐字符串。
16.startsWith(字符串片段)
作用:判断该字符串是不是以传入的字符串片段开头的。
返回值:布尔值。
17.endsWith(字符串片段)
作用:判断该字符串是不是以传入的字符串片段结尾的。
返回值:布尔值。
【注意】
当我们使用基础数据类型时,如果用到它对应的包装对象的属性或者方法时,js会自动将其转为包装对象。使用完成之后,再讲其转为基础数据类型。
基础数据类型也可以使用它对应的包装类型的属性和方法。