1、对象:是一种数据类型(复合数据类型),用来存储数据。数据格式(key:value)。对象是属性和行为的结合体
2、对象的定义:
(1)使用字面量:{ }
let 对象名 = {
属性名:属性值
方法名:function(【参数】){
函数体语句
}
}
(2)使用Object:
a、let 对象名 = new Object()
对象名.属性名 = 属性值
对象名.方法名 = function(【参数】){
函数体语句
}
b、let 对象名 = new Object({
属性名:属性值
方法名:function(【参数】){
函数体语句
}
})
(3)使用构造函数创建对象
a、定义构造函数:
function 构造函数名(【参数】){
this.属性名 = 属性值
this.方法名 = function(【参数】){
函数体语句
}
}
b、创建对象
let 对象名 = new 构造函数名(【参数】)
3、对象访问属性和方法
对象名.属性名
对象名.方法名(【参数】)
课堂练习作业一
请定义一个交通工具(Vehicle)的构造方法,其中有: 属性:速度(speed),体积(size) 方法:移动(move()),设置速度(setSpeed(speed)),加速speedUp(),减速speedDown().
创建一个交通工具对象,并通过构造方法给它初始化speed,size的值,并且打印出来。另外,调用加速,减速的方法对速度进行改变。
function Vehicle(type,speed,size){
this.type = type
this.speed = speed
this.size = size
this.move = function(){
console.log(this.type+'在移动...')
}
this.setSpeed = function(speed){
this.speed = speed
}
this.speedUp = function(){
console.log(this.type+'原来的速度为:',this.speed)
this.speed += 20
console.log(this.type+'加速到:',this.speed)
}
this.speedDown = function()
{
console.log(this.type+'原来的速度为:',this.speed)
this.speed -= 50
console.log(this.type+'减速到:',this.speed)
}
}
let bm = new Vehicle('宝马',120,5.0)
bm.move()
bm.speedUp()
bm.speedDown()
console.log('-----------------------')
let bz = new Vehicle('奔驰',100,4.98)
bz.move()
bz.speedUp()
bz.speedDown()
console.log('-----------------------')
let fly = new Vehicle('空客A380',800,35)
fly.move()
fly.speedUp()
fly.speedDown()
五、JavaScript的内置对象:可以直接使用的对象(不需要使用字面量、Object、构造函数创建的对象,JavaScript已经定义好的对象)
1、使用MDN(web开发文档的网站)查询资料:MDN 是 Mozilla基金会的开发者网络平台。提供了大量关于各种HTML、CSS和JavaScript功能的开放、详细的文档,以及广泛的Web API参考资料。(MDN Web Docs)
2、Math对象:是一个内置对象,用于数学运算的。不是一个函数对象(通过构造函数创建的对象称为函数对象),在创建Math对象不能使用new运算符(即不能 new Math()),它的属性和方法在使用时采用:
Math.属性名
Math.方法名(【参数】)
(1)属性:
Math.PI :表示圆周率
(2)方法:
Math.abs(x) :返回参数x的绝对值
Math.floor(x):返回小于等于形参x的最大整数。向下取整
Math.ceil(x):返回大于等于形参x的最小整数。向上取整
Math.max(x,y,z...):返回所有参数的最大值
Math.min(x,y,z...):返回所有参数的最小值
Math.pow(x,y):返回x的y次方
Math.sqrt(x):返回x的算术平方根
Math.round(x):取整,x四舍五入后的整数
Math.random():返回0.0~1.0之间的随机数(不包含1.0)
Math.trunc():
本周总结:
1、数组:
(1)数组的分类:一维数组、二维数组
(2)创建数组的方式:字面量( [ ] )、Array对象(new Array() )
(3)数组元素的遍历:for、for...in、for...of、forEach、 map
(4)排序算法:冒泡排序
2、函数:是实现某种功能的模块
(1)函数的定义:function 函数名(【参数】)
(2)形参和实参、参数传递
(3)函数表达式
(4)递归函数
3、对象:是属性和行为的结合体(key:value)
(1)创建:字面量( { } )、Object(new Object())、构造函数(重点/难点)
(2)使用:对象名.属性名、对象名.方法名(【参数】)、对象名['属性名']、对象名[ ' 方法名'] ([参数])
(3)对象数组: