对象具有三大特征:继承 封装 多态
对象具有-属性和行为
接触过的对象 String Array Math Date(js自带的对象)
如何自己定义对象
现在开发里面 java 前端 C# php 面向对象开发(简单)
1.Object 是一个大对象 是顶级对象
//如何自己定义对象
//使用new关键字 创建一个新的对象 对象都是引用类型
var person = new Object();
//设置属性
person.name = “张三”;
person.age = 8;
//设置对象的方法
person.eat = function () {
return this.name + “吃饭”;
}
console.log(person);
//{name: “张三”, age: 8, eat: ƒ}
age: 8
eat: ƒ ()
name: “张三”
proto: Object
2.使用js里面的this
概括js里面的this 形态 1.this指向window 2.事件的this 指向当前事件的执行对象 3.自定义对象里面的this 指向当前对象
var cat = {
name: “小花”,
age: 2,
sex: “母”,
eat: function () {
return this.name + “吃鱼”;
}
};
console.log(cat);
//{name: “小花”, age: 2, sex: “母”, eat: ƒ}
age: 2
eat: ƒ ()
name: “小花”
sex: “母”
proto: Object
3.这个是第三种创建对象的方式 里面涉及到继承
Object.create
参数写成 null 无_proto_属性
参数如果写成一个对象 就是当前对象 的_proto_ 属性指向参数对象
var animal={
name:null,
color:null,
eat:function (){
},
sleep:function (){
}
};
创建一个小的动物对象
var pig=Object.create(animal);//pig这个对象的_proto_属性指向animal对象
pig.name=“花花”;
pig.color=“黑色”;
pig.eat();
console.log(pig);
//{}
color: “黑色”
name: “花花”
proto: Object