对象
一,定义:
一组无序的相关属性和方法的集合;
属性:事务特征 名词
方法:行为 动词
分类
1.字面量对象
语法:
let 函数名={};[^1] 空对象
例如;
let obj{
name:'张胜男',
sex:'男',
age:17,
sayHi:function(){
console.log('hi!')
}
}
调用:
属性:console.log(obj.name);
方法:obj.sayHi();
注意:创建对象是 let 对象名{
属性名:属性值
方法名:function(){
console.log(‘行为’)
}
}
调用函数;
console.log(对象名. 属性名)
方法调用:对象名.方法名()
2:new object创建对象
语法:
let obj=new Object();
obj.属性名=属性值;
obj.属性名=属性值;
obj.方法名=function(){
console.log('行为')
};
调用:
函数:console.log(obj.属性名)
方法:obj.方法名()
例子:
let obj=new Object();
obj.name='张三';
obj.age=13;
obj.sex='男';
obj.do=function(){
console.log('hi!')
}
调用:
函数 console.log(obj.name);
方法:obj.do();
注意事项:
new Object对象属性名前一定要加对象名
属性值后面用分号结尾
调用方式与字面量一至
3)构造函数
定义:封装对象
为什么使用构造函数?
原因:前面创建一次只能有一个对象
语法:
function 构造函数名(形参){
this.函数名=函数名;
this.函数名=函数名;
this.方法名=function(形参){
console.log(形参)
}
}
new 构造函数名(实参)
let obj= new 构造函数名(实参)
调用:
属性:console.log(obj.函数名)
方法:obj.方法名('实参');
例如:
function Star(name, age, sex){
this.name=name;
this.age=age;
this.sex=sex;
this.do=function(cook){
console.log(cook)
}
}
new Star('张三', 19, '男')
let dan=new Star('张三', 19, '男')
方法调用: dan.do('cook');
属性调用:console.log(dan.name)
注意事项:
1, 构造函数名首字母大写,(形参)
2,里面结构:this.属性名=属性名;
3,以分号结尾
4,调用要有:new 构造函数名(实参)