Heim  >  Artikel  >  Web-Frontend  >  Ist Javascript objektorientiert?

Ist Javascript objektorientiert?

青灯夜游
青灯夜游Original
2021-06-30 17:34:545486Durchsuche

Javascript ist keine streng objektorientierte Sprache, sondern eine clientseitige Skriptsprache, die auf objektgesteuerter und ereignisgesteuerter Programmierung basiert. Grund: Objektorientiert umfasst drei Hauptfunktionen: Kapselung, Vererbung und Polymorphismus, während JavaScript nur über Kapselung verfügt und Vererbung nur Vererbung simuliert, nicht objektorientiert.

Ist Javascript objektorientiert?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Javascript ist keine objektorientierte Sprache im engeren Sinne, sondern eine clientseitige Skriptsprache, die auf objektgesteuerter, ereignisgesteuerter Programmierung basiert und nicht nur Objekte erstellen, sondern auch vorhandene Objekte verwenden kann.

Warum ist JavaScript keine objektorientierte Sprache?

Weil objektorientiert drei Hauptfunktionen umfasst: Kapselung, Vererbung und Polymorphismus. Es gibt nur eine Kapselung in JavaScript, und die Vererbung ist nur eine simulierte Vererbung, nicht objektorientiert.

Alles in allem ist in JavaScript alles ein Objekt, Eigenschaften, Arrays, Funktionen usw. sind alles Objekte.

Es gibt keine Überladung in JavaScript

Ist Javascript objektorientiert?

Es gibt keine Überladung in JavaScript, die später definiert wird, und nur die letzte wird immer aufgerufen, und zwar die formale Parameter in JS sind nur Platzhalter, es sind zwei formale Parameter definiert und es kann nur ein Parameter übergeben werden. Dies dient nur der Bequemlichkeit des Programmierers.

Wenn formale Parameter nicht geschrieben werden, können Platzhalter nicht bequem für tatsächliche Parameter verwendet werden. In diesem Fall werden implizite formale Parameter arguments[0] verwendet, um auf den ersten tatsächlichen Parameter zuzugreifen, arguments[1] wird verwendet, um auf den zweiten tatsächlichen Parameter zuzugreifen , und so weiter.

Funktionen zum Simulieren von Klassen verwenden

Im Allgemeinen wird der erste Buchstabe des Klassennamens großgeschrieben. 1. Bei der Definition der Klasse gibt es einen Konstruktor. 2. Der Attributwert der Methode ist eine Funktion.

Beispiel:

<script type="text/javascript">
            function Student (sno,sname,age) {
                this.sno = sno;
                this.sname = sname;
                this.age = age;
                this.study  = function(){
                    alert(&#39;我是&#39;+this.sname+&#39;,我在学习&#39;)
                }
            }
            var stu = new Student(1,&#39;xiaoming&#39;,20);
            stu.study();
</script>

Verwenden Sie die Object-Klasse, um sofortige Objekte zu erstellen

delete stu.name;//可以删除属性
2. Benutzen apply() Funktion zum Simulieren der Vererbung

<script type="text/javascript">
            var stu = new Object();
            stu.sno = 1;
            stu.sname = &#39;xiaoming&#39;;
            stu.age = 20;
            stu.study = function(){
                alert(&#39;我是&#39;+this.sname+&#39;,我在学习&#39;);
            }
            stu.study();
</script>

3. Verwenden Sie den Prototyp-Prototyp, um die Vererbung zu simulieren

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            function Person (name,age) {
                this.name = name;
                this.age = age;
                this.eat = function(){
                    alert(&#39;姓名:&#39;+this.name+",年龄:"+this.age+",我在吃饭");
                }
            }
            function Student(sno,name,age){
                Person.call(this,name,age);//相当于super(name,age)
                this.sno = sno;
                this.study = function(){
                    alert(&#39;学号:&#39;+this.sno+&#39;,姓名:&#39;+this.name+",年龄"+this.age+",我在学习");
                }
            }
            var stu = new Student(1,&#39;xiaoming&#39;,22);
            stu.eat();
            stu.study();
        </script>
    </head>
    <body>
    </body>
</html>

Über das Prototypattribut einer Klasse können Sie wissen, welche Attribute und Methoden die Klasse hat.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            function Person (name,age) {
                this.name = name;
                this.age = age;
                this.eat = function(){
                    alert(&#39;姓名:&#39;+this.name+",年龄:"+this.age+",我在吃饭");
                }
            }
            function Student(sno,name,age){
                Person.apply(this,[name,age]);//相当于super(name,age)
                this.sno = sno;
                this.study = function(){
                    alert(&#39;学号:&#39;+this.sno+&#39;,姓名:&#39;+this.name+",年龄"+this.age+",我在学习");
                }
            }
            var stu = new Student(1,&#39;xiaoming&#39;,22);
            stu.eat();
            stu.study();
        </script>
    </head>
    <body>
    </body>
</html>
【Verwandte Empfehlungen: Javascript-Lern-Tutorial

Das obige ist der detaillierte Inhalt vonIst Javascript objektorientiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn