面向对象

面向对象是一种编程思维,在程序里面用对象来描述一个具体的事务

只要使用面向对象,都要先将事务的属性和功能封装到一个对象中,再反复使用对象,反复使用对象的功能

创建自定义对象(封装)

1. 使用对象的直接量,

var obj = {
  属性名:属性值,
              ...:...,
       方法名:function(){
            ..
          this.属性名...
         this.方法名()..
 },
                ...:...,
 }
var obj = {
yname: "张海峰",
age: 22,
intr: function() {
console.log(`我是${this.yname}`, `有${this.age}岁`);
},

}
console.log(obj);

// 访问对象的属性
// console.log(obj.yname);
// console.log(obj.age);
// console.log(obj['yname']);
// console.log(obj['age']);
//访问对象的方法
obj.intr();
//给对象中的属性赋值
// obj.age++;
// console.log(obj.age);
// obj.intr();

// var obj1 = obj;
// console.log(obj1.age);

// obj = null;
// obj1.intr();
 
使用new来创建, 在创建对对象时,占时不知道对象的成员
var obj = new Object();//创建一个空对象 简写 new Object 或Object( )
obj.属性名= 属性值
obj.方法名=function(){...this.属性名...}
 
 
var lihua = Object();
lihua.sname = "Li Hua";
            lihua.sage = 11;
            lihua.intr = function(){
            console.log('My name is '+this.sname+",I'am "+this.sage);
 }
            lihua.sage ++;
            lihua.intr();
 
3.构造函数
function 类型名(属性参数列表){
                this.属性名 = 属性参数值;
                ....;
                this.方法名 = function(){
                    ...this.属性名....
        }
}
传入具体的对象的属性值
var obj = new 类型名(属性值列表);
function Student(sname,sage){
                this.sname = sname;
                this.sage = sage;
                this.intr = function(){
    console.log(`My name is ${this.sname},I'am ${this.sage}`);
      }
}
            var lilei = new Student("Li Lei",11);
            var lihua = new Student("Li Hua",11);
            console.dir(lilei);
            lilei.intr();
            console.dir(lihua);
            lihua.intr();
 
 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/zhanghaifeng123/p/11331909.html