JavaScript对象及初始面向对象
一、对象
<script>
//1.创建对象
var obj=new Object();
console.log(obj);//在控制台打印
//指定属性
obj.name="";
obj.age=19;
//实现方法
obj.sayHello=function(){
console.log("********"):
}
//调用方法
console.log(obj);
obj.sayHello(); //就会将之前实现的东西在控制台打印出来
//2.自变量创建对象
var obj1={
name:"";
gender:"";
sayHello:"**********";
}
console.log(obj1);
</script>
二、构造函数创建对象
<script>
function Obj(name,age,gender){
//注意:这里的变量名必须是大写开头,括号里所写的是需要的属性
//2.this将参数导过来
this.name=name;
this.age=age;
this.gender=gender;
this.sayHello=function(){
console.log("*************");
}
}
//创建对象,可以使用上面的方法创建多个
var obj1=new Obj("波","12","女");
console.log(obj1);
//将方法导用过来
obj1.sayHello();
//*调用构造函数的四步骤
//1.创建一个新对象
//2.将构造函数的作用域赋给新对象(this就指向了这个新对象)
//3.执行构造函数中的代码
//4.返回新对象
</script>
三、原型对象
<script>
//prototype指的是在原创建的函数里已经存在的原型对象
//注意:1.每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象
//2.prototype就是通过调用构造函数而创建的那个对象实例的原型对象
//1.构造函数
function Obj(){
}
//2.使用prototype属性去构造属性
Obj.prototype.sayName=function(){
console.log("你好,我叫波波");
}
//3.继承方法
var obj1=new Obj();
obj1.sayName();
</script>
四、原型链
<script>
//注意:如果这对象本身不存在这个属性,那么他就会去构造函数的“prototype”属性中去寻找,因为“prototype”本身是一个对象,所以他里面也有一个属性“_ _proto_ _”属性
//在使用原型的时候,将方法最好写在构造函数的prototype属性内
</script>