对象
- 基础类型
number 、string、 boolean、 null 、undefined - 引用类型
数组、 函数 、对象
对象是指一个具体的事物。万物皆对象。
一个具体的事物一般都会有行为和特征。
- 对象的行为------js对象的函数
- 对象的特征------js对象的属性
eg: 手机:
行为:打电话 聊微信 玩和平精英 刷新闻
特征:颜色 屏幕分辨率 摄像头像素
JavaScript中的对象
- JavaScript中的对象可以看做生活中具体事物的抽象。
- js对象是属性+函数的集合。
- 属性:可以是基本数据类型,也可以是引用数据类型。
创建一个对象
1.使用new关键字类创建
2.使用字面量
eg:
<script>
// 使用new关键字类新建一个对象。
var hero = new Object();
// 使用字面量新建一个对象。
var hero = {
};
</script>
新增属性
eg:
<script>
// 使用new关键字类新建一个对象。
var hero = new Object();
// 新增属性
hero.heroName = "韩信";
hero["age"] = "30";
// 使用属性
alert(hero.heroName);
alert(hero["age"]);
</script>
使用属性
对象名.属性名
<script>
// 使用new关键字类新建一个对象。
// 使用new关键字类新建一个对象。
var hero = new Object();
// 新增属性
hero.heroName = "韩信";
hero["age"] = "30";
// 使用属性
alert(hero.heroName);
alert(hero["age"]);
</script>
新增方法
对象名.属性名=function(){
函数体
};
eg:
<script>
// 使用new关键字类新建一个对象。
var hero = new Object();
// 新增属性
hero.heroName = "韩信";
hero["age"] = "30";
// 使用属性
alert(hero.heroName);
alert(hero["age"]);
// 新增方法
hero.skillTwo = function () {
console.log("对方对你使用了二技能");
};
hero.skillTwo();
</script>
对象的分类
1.内建对象
- 由ES标准定义的对象,在任何ES实现中都可以使用 ( js提供的对)象
- Math Date String Number Boolean Function Object
2.宿主对象
- 主要有浏览器提供的对象。
- BOM DOM
3.自定义对象
开发人员自己定义的对象。
基本类型与引用类型的区别
区别:
- 基础数据类型的数据存储在栈中,变量直接指向的是基础数据类型的值。
- 引用数据类型的数据存储在堆中,变量指向的是引用数据类型的地址。
比较:
- 基本数据类型比较时,比较值。
- 而引用数据类型比较时,比较内存地址,如果内存地址相同,指向了同一个对象,则相等,否则不相等。
eg:
<script>
var hero = {
"hName": "亚索",
"R": "狂风绝息斩"
}
var hero2 = hero;
hero.R = "阿里亚克痛";
alert(hero.R);
alert(hero2.R);
alert(hero == hero2);
</script>
eg:
<script>
var hero = {
"hName": "亚索",
"R": "狂风绝息斩"
}
var hero2 = {
"hName": "亚索",
"R": "狂风绝息斩"
}
hero.R = "阿里亚克痛";
alert(hero.R);
alert(hero2.R);
alert(hero == hero2);
</script>
Math
Math对象 : 提供了很多关于运算的方法。
Math.random()
Math.random(); 返回0-1之间的随机数。
<script>
// 返回0-1之间的随机数
alert(Math.random());
// 返回3-7之间的随机数(整数)
alert(parseInt(Math.random() * 4) + 3);
</script>
假如我们需要一个n-m之间的数。
Math.round(Math.random()*(m-n))+n
<script>
// 返回3-6之间的随机数。
alert(Math.round(Math.random() * 3) + 3);
</script>
Math.round() 四舍五入
<script>
// 四舍五入
alert(Math.round(6.1));
</script>
Math.max() 返回最大值
<script>
// 返回最大值
alert(Math.max(11, 55, 7, 78, ));
</script>
Math.min() 返回最小值
<script>
// 返回最小值
alert(Math.min(11, 55, 7, 78));
</script>
Math.abs() 返回绝对值
<script>
// 返回绝对值
alert(Math.abs(-254));
</script>
Math.ceil() 向上取整
<script>
// 向上取整
alert(Math.ceil(5.5));
alert(Math.ceil(-5.5));
</script>
Math.floor() 向下取值
<script>
// 向下取值
alert(Math.floor(5.5));
alert(Math.floor(-5.5));
</script>
Math.pow(x,y) x的y次方
<script>
// x的y次方
alert(Math.pow(2, 3));
</script>
Math.sqrt(num) 开平方
<script>
// 开平方
alert(Math.sqrt(9));
</script>
Math.PI弧度
Math.PI = 180° 弧度。
1弧度=Math.PI/180.
Date对象
1.创建日期对象
<script>
// 调用构造函数 构造函数的作用:生成对象。
var d = new Date();
alert(d);
</script>
- Wed Jan 06 2021 15:28:12 GMT+0800 (中国标准时间)
星期 月 日 年 时 分 秒 时区
<script>
// 调用构造函数 构造函数的作用:生成对象。
var d = new Date("2021/01/07");
alert(d);
</script>
<script>
// 调用构造函数 构造函数的作用:生成对象。
var d = new Date(2020, 09, 30, 15, 33, 20);
alert(d);
</script>
- 创建日期对象是,可以指定日期。时分秒若不填写,则默认为00:00:00
-在国外,月份是从0开始的,0-11
eg:
<script>
var d = new Date(1576800000000);
alert(d);
</script>
日期对象方法
格式:Date.parse(日期对象);
功能:将日期对象转为毫秒数。
<script>
// 如果什么参数都不传,默认为当前时间。
var d = new Date();
var result = Date.parse(d);
alert(d);
alert(result);
</script>
获取日期
d.getFullYear() 返回年
d.getMonth() 获取月份 从0开始 范围为:0-11
d.getDate() 返回日
d.getDay() 返回周几。
d.getHours() 获取小时数
d.getMinutes() 获取分钟数
d.getSeconds() 获取秒数
d.getMilliseconds() 获取毫秒数
d.getTimezoneOffset() 获取本地时间与格林威治时间的分钟差。
d.getTime() 获取当前的毫秒数。
<script>
var d = new Date();
alert(d);
alert(d.getFullYear());
alert(d.getMonth() + 1);
alert(d.getDate());
alert(d.getDay());
alert(d.getHours());
alert(d.getMinutes());
alert(d.getSeconds());
alert(d.getMilliseconds());
alert(d.getTime());
alert(d.getTimezoneOffset());
</script>
设置日期
d.setFullYear() 设置年
d.setMonth() 设置月份 从0开始 范围为: 0 - 11
d.setDate() 设置日
d.setDay() 设置周几。
d.setHours() 设置小时数
d.setMinutes() 设置分钟数
d.setSeconds() 设置秒数
d.setMilliseconds() 设置毫秒数
d.setTime() 设置当前的毫秒数。
d.setTimezoneOffset() 设置本地时间与格林威治时间的分钟差。
日期格式化
- 以特定格式显示 :星期几 月 日 年
<script>
var d = new Date();
// 以特定格式显示 星期几 月 日 年
alert(d.toDateString());
</script>
- 以特定格式显示 :时分秒 时区
<script>
var d = new Date();
alert(d.toTimeString());
</script>
- 以特定格式显示 : 年 月 日
<script>
var d = new Date();
alert(d.toLocaleDateString()); //2021/1/6
</script>
- 以特定格式显示 : 下午时:分:秒
<script>
var d = new Date();
alert(d.toLocaleTimeString()); //下午4:34:58
</script>
- 显示格林威治时间: 星期, 日 月 年 时:分:秒
<script>
var d = new Date();
alert(d.toUTCString());
</script>