Rumah > hujung hadapan web > tutorial js > js面向对象编程

js面向对象编程

hzc
Lepaskan: 2020-06-04 13:06:31
ke hadapan
2301 orang telah melayarinya

一、面向对象编程

1.面向过程与面向对象

    1)面向过程:专注于如何解决一个问题的过程步骤,编程特点是由一个个函数去实现每一步的过程步骤,没有类和对象的概念。

    2)面向对象:专注于由哪一个对象来解决问题,编程特点是出现一个类,从类中拿到对象,由这个对象去解决具体问题。

    对于调用者来说,面向过程需要调用者自己去实现各种函数。而面向对象,只需要调用者了解对象中具体方法的功能,不需要了解方法中的实现细节。

2.面向对象的三大特征

      面向对象的三大特征继承、封装、多态。JS可以模拟实现继承和封装,但是无法模拟实现多态,所以JS是一门基于对象的语言,          而不是传统意义上的面向对象的语言。

3.类和对象的关系

    1)类是抽象的,对象是具体的(类是对象的抽象化,对象是类的具体化)

    2)类是一个抽象的概念,只能说类有属性和方法,但是不能给属性赋具体的。比如,人类有姓名,但是不能说人类的姓名叫什么。

二、Javascript对象的创建方法

1.var obj = {}//简单对象plainObject 对象字面量/对象直接量

2.构造函数(特点:大驼峰式命名规则)

1)系统自带的构造函数

    var obj = new Object();//相当于var object = {}

2)自定义函数封装

    // 函数里面加参数才能使函数自定义,可以随意改变函数中对应参数的数据,生产对象的时候必须得new对象

function Car(color){
        this.color=color;
        this.name = "BMW";
        this.height = "1400";
        this.lang = "4900";
        this.weight = 1000;
        this.health = 100;
        this.run = function(){
            this.health -- ;
        }
    }
Salin selepas log masuk

var car = new Car("red");

3.对象构造函数的内部原理3步

1)在函数体最上面隐式的加上一个对象:var this = {}

2)执行函数体中的内容

3)隐式的返回this对象

三、包装类

1.原始值是不可能有属性和方法(undefined、null、number、boolean、string)

2.有些原始值经过包装类之后,可以进行调用

var num=123;//不是对象

var num1=new Number(123);//是对象

3.隐式包装类的过程如下

  var num = 4;
  num.len = 3;//隐式发生转换,新建一个数字对象,然后添加属性并赋值,最后删除这个对象,所以在执行过程中没有报错
  console.log(num.len);//再新建一个数字对象,添加属性,所以最后输出为undefined
        
  var str="abcd";
  str.length=2;
  console.log(str.length);
  //输出为4,在输出时原始值str包装类之后输出的为new String('abcd').length,字符串自带length属性,所以输出长度为4
Salin selepas log masuk

    推荐教程:《JS教程》

Atas ialah kandungan terperinci js面向对象编程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Isu terkini
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan