对象
基础类型
number string boolean null undefined
引用类型
数组 函数 对象
对象的定义
在 JavaScript 中,几乎“所有事物”都是对象
布尔是对象(如果用 new 关键词定义)
数字是对象(如果用 new 关键词定义)
字符串是对象(如果用 new 关键词定义)
日期永远都是对象
算术永远都是对象
正则表达式永远都是对象
数组永远都是对象
函数永远都是对象
对象永远都是对象
所有 JavaScript 值,除了原始值,都是对象。
对象是指一个具体的事物。万物皆对象。
一个具体的事物一般都会有行为和特征。
手机:
行为:打电话 聊微信 玩和平精英 刷新闻
特征:颜色 屏幕分辨率 摄像头像素
对象的行为------js对象的函数
对象的特征------js对象的属性
属性指的是与 JavaScript 对象相关的值。
JavaScript 对象是无序属性的集合。
属性通常可以被修改、添加和删除,但是某些属性是只读的。
JavaScript中的对象
JavaScript中的对象可以看做生活中具体事物的抽象。
js对象是属性+函数的集合。
属性:可以是基本数据类型,也可以是引用数据类型。
2.创建一个对象
1.使用new关键字类创建
2.使用字面量
2.1新增属性
hero.name = "韩信";
hero["age"] = "30";
2.2使用属性
对象名.属性名
2.3新增方法
对象名.属性名=function(){
函数体
};
对象的分类
1.内建对象
由ES标准定义的对象,在任何ES实现中都可以使用 js提供的 对象
Math Date String Number Boolean Function Object
2.宿主对象
主要有浏览器提供的对象。
BOM DOM
3.自定义对象
开发人员自己定义的对象。
基本类型和引用类型的区别
区别:
基础数据类型的数据存储在栈中,变量直接指向的是基础数据类型的值。
引用数据类型的数据存储在堆中,变量指向的是引用数据类型的地址。
比较:
基本数据类型比较时,比较值。
而引用数据类型比较时,比较内存地址,如果内存地址相同,指向了同一个对象,则相等,否则不相等。
Math对象
Math对象
提供了很多关于运算的方法。
Math.random(); 返回0-1之间的随机数。
假如我们需要一个n-m之间的数。Math.round(Math.random()*(m-n))+n
Math.round()四舍五入
Math.max() 返回最大值。
Math.min() 返回最小值
Math.abs() 返回绝对值
Math.ceil()向上取整
Math.floor() 向下取值
Math.pow(x,y) x的y次方
Math.sqrt(num) 开平方
Math.PI = 180° 弧度。
1弧度=Math.PI/180.
Date对象
1.创建日期对象。
Wed Jan 06 2021 14:38:02 GMT+0800 (中国标准时间)
星期 月 日 年 时分秒 时区\
创建日期对象是,可以指定日期。时分秒若不填写,则默认为00:00:00
指定日期的几种方式:
1.new Date("2021/01/07")
2.new Date(2020,09,30,15,33,20);
3.new Date(1576800000000);
4.new Date("2020-12-31 12:30:20");
在国外,月份是从0开始的,0-11
日期对象方法
日期对象方法:
格式:Date.parse(日期对象);
功能:将日期对象转为毫秒数。
d.getTime() 获取当前的毫秒数。
d.getDate() 返回日
d.getDay() 返回周几。
d.getMonth() 获取月份 从0开始 范围为:0-11
d.getFullYear() 返回年
d.getHours() 获取小时数
d.getMinutes() 获取分钟数
d.getSeconds() 获取秒数
d.getMilliseconds() 获取毫秒数
d.getTimezoneOffset() 获取本地时间与格林威治时间的分钟差。
设置日期:
setDate() 设置日期的天数。
setMonth() 设置月份
d.setFullYear() 设置日期的年份
d.setHours() 设置小时数
d.setMinutes() 设置分钟数
d.setSeconds() 设置秒数
d.setMilliseconds() 设置毫秒数
日期格式化
以特定格式显示 星期几 月 日 年
alert(d.toDateString());
以特定格式显示 时分秒 时区
alert(d.toTimeString());//16:33:30 GMT+0800 (中国标准时间)
alert(d.toLocaleDateString());//2021/1/6
alert(d.toLocaleTimeString());//下午4:34:58
alert(d.toUTCString());显示格林威治时间。
显示格式为:2021年1月6日 星期三 16:48:50
定时器:
在js中定时器有两种
1、setInterval()
2、setTimeout()
1、setInterval()
格式:var 变量名 = setInterval("执行的语句",每隔多久执行一次);
【注意】可以写执行的代码,也可以直接传入函数。
返回值:启动定时器时,系统分配的编号
2、setTimeout()
只在指定时间后执行一次。
关闭:clearTimeout();
【注意】 clearTimeout函数需要一个参数:定时器的编号。
关闭定时器的方式:
1.关闭页面。
2.clearInterval();
【注意】 clearInterval函数需要一个参数:定时器的编号。
BOM
JavaScript 由三大部分组成
ES:语法标准,函数,对象。
BOM:borwser object model 浏览器对象模型 操作浏览器部分功能的
DOM:文档对象类型, 操作网页上的元素。
window对象:
1.是JavaScript中的顶级对象
2.全局变量,自定义函数都属于window的属性或方法。
3.我们在使用window对象下的属性或方法时,可以省略window.
常见的BOM对象:
1.window 代表整个浏览器窗口,window对象是BOM中的顶级对象。
2.Navigator 表示浏览器的一些信息。
3.Location 表示浏览器当前的地址信息。
4.History 浏览器的历史记录信息。
5.Screen 表示用户的屏幕信息。
window对象的常用方法:
1.弹出系统对话框。
(1) alert()
(2) prompt()
(3) confirm()
2.打开窗口
window.open(url,target,param)
url :要打开的地址
target:新窗口的位置。 _blank,_self,_parent(父框架下)
param:新窗口的一些设置。
name:新窗口的名字,可以为空
【注意】name需要写在target前面。
返回值:新窗口的句柄。
3.关闭窗口
window.close(); 关闭当前窗口
open返回值.close(); 关闭新窗口