JS对象继承使用案例详解
这次给大家带来JS对象继承使用案例详解,JS对象继承使用的注意事项有哪些,下面就是实战案例,一起来看一下。
修改非自己拥有的对象是解决某些问题很好的方案。在一种“无公害”的状态下,它通常不会发生;发生的原因可能是开发者遇到了一个问题,然而又通过修改对象解决了这个问题。尽管如此,解决一个已知问题的方案总是不止一种的。大多是计算机科学知识已经在静态类型语言环境中进化出了解决难题方案,如Java。可能有一些方法,所谓的设计模式,不直接修改这些对象而是扩展这些对象。
在JS之外,最受欢迎的对象扩充的形式是继承。如果一种类型的对象已经做到了你想要的大多数工作,那么继承自它,然后再新增一些功能即可。在JS中有两种基本的形式:基于对象的继承和基于类型的继承。
在JS中,继承仍然有一些很大的限制。首先,不能从DOM或BOM对象继承。其次,由于数组索引和length属性之间错综复杂的关系,继承自Array是不能正常工作的。
基于对象的继承
在基于对象的继承中,也经常叫做原型继承,一个对象继承另外一个对象是不需要调用构造函数的。ES5的Object.create()方法是实现这种继承的最简单的方式。例如:
var person = { name: 'Nicholas', sayName: function () { console.log(this.name); } };var myPerson = Object.create(person); myPerson.sayName(); // "Nicholas"
这个例子创建了一个新对象myPerson,它继承自person。这种继承方式就如同myPerson的原型设置为person,从此myPerson可以访问person的属性和方法,而不需要同名变量在新的对象上再重新定义一遍。例如,重新定义myPerson.sayName()会自动切断对person.sayName()的访问:
myPerson.sayName = function () { console.log('Anonymous'); }; myPerson.sayName(); // "Anonymous"person.sayName(); // "Nicholas"
Object.create()方法可以指定第二个参数,该参数对象中的属性和方法将添加到新的对象中。例如:
var myPerson = Object.create(person, { name: { value: 'Greg' } }); myPerson.sayName(); // "Greg"person.sayName(); // "Nicholas"
这个例子创建的myPerson对象拥有自己的name属性值,所以调用sayName()显示的是“Greg”而不是“Nicholas”。
一旦以这种方式创建了一个新对象,该新对象完全可以随意修改。毕竟,你是该对象的拥有者,在自己的项目中你可以任意新增方法,覆盖已存在方法,甚至是删除方法(或者阻止它们的访问)。
基于类型的继承
基于类型的继承和基于对象的继承工作方式是差不多的,它从一个已存在的对象继承,这里的继承是依赖于原型的。因此,基于类型的继承是通过构造函数实现的,而非对象。这意味着,需要访问被继承对象的构造函数。比起JS中原生的类型,在开发者定义了构造函数的情况下,基于类型的继承是最合适的。同时,基于类型的继承一般需要两步:首先,原型继承;然后,构造器继承。构造器继承是调用超类的构造函数时传入新建的对象作为其this的值。例如:
function Person (name) { this.name = name; }function Author (name) { Person.call(this, name); // 继承构造器} Author.prototype = new Person();
这段代码里,Author类型继承自Person。属性name实际上是由Person类管理的,所以Person.call(this, name)允许Person构造器继续定义该属性。Person构造器是在this上执行的,this指向一个Author对象,所以最终的name定义在这个Author对象上。
对比基于对象的继承,基于类型的继承在创建新对象时更加灵活。定义了一个类型可以让你创建多个实例对象,所有的对象都是继承自一个通用的超类。新的类型应该明确定义需要使用的属性和方法,它们与超类中的应该完全不同。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Atas ialah kandungan terperinci JS对象继承使用案例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Sistem pengendalian Windows ialah salah satu sistem pengendalian yang paling popular di dunia, dan versi baharunya Win11 telah menarik perhatian ramai. Dalam sistem Win11, mendapatkan hak pentadbir adalah operasi penting Hak pentadbir membolehkan pengguna melakukan lebih banyak operasi dan tetapan pada sistem. Artikel ini akan memperkenalkan secara terperinci cara mendapatkan kebenaran pentadbir dalam sistem Win11 dan cara mengurus kebenaran dengan berkesan. Dalam sistem Win11, hak pentadbir dibahagikan kepada dua jenis: pentadbir tempatan dan pentadbir domain. Pentadbir tempatan mempunyai hak pentadbiran penuh ke atas komputer tempatan

Penjelasan terperinci tentang operasi bahagi dalam OracleSQL Dalam OracleSQL, operasi bahagi ialah operasi matematik yang biasa dan penting, digunakan untuk mengira hasil pembahagian dua nombor. Bahagian sering digunakan dalam pertanyaan pangkalan data, jadi memahami operasi bahagian dan penggunaannya dalam OracleSQL adalah salah satu kemahiran penting untuk pembangun pangkalan data. Artikel ini akan membincangkan pengetahuan berkaitan operasi bahagian dalam OracleSQL secara terperinci dan menyediakan contoh kod khusus untuk rujukan pembaca. 1. Operasi bahagian dalam OracleSQL

Operator modulo (%) dalam PHP digunakan untuk mendapatkan baki pembahagian dua nombor. Dalam artikel ini, kami akan membincangkan peranan dan penggunaan pengendali modulo secara terperinci, dan memberikan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. 1. Peranan pengendali modulo Dalam matematik, apabila kita membahagi integer dengan integer lain, kita mendapat hasil bagi dan baki. Sebagai contoh, apabila kita membahagi 10 dengan 3, hasil bahagi ialah 3 dan selebihnya ialah 1. Operator modulo digunakan untuk mendapatkan baki ini. 2. Penggunaan operator modulo Dalam PHP, gunakan simbol % untuk mewakili modulus

Penjelasan terperinci tentang fungsi sistem panggilan sistem Linux() Panggilan sistem ialah bahagian yang sangat penting dalam sistem pengendalian Linux Ia menyediakan cara untuk berinteraksi dengan kernel sistem. Antaranya, fungsi system() adalah salah satu fungsi panggilan sistem yang biasa digunakan. Artikel ini akan memperkenalkan penggunaan fungsi system() secara terperinci dan memberikan contoh kod yang sepadan. Konsep Asas Panggilan Sistem Panggilan sistem ialah satu cara untuk atur cara pengguna berinteraksi dengan kernel sistem pengendalian. Program pengguna meminta sistem pengendalian dengan memanggil fungsi panggilan sistem

Penjelasan terperinci tentang perintah curl Linux Ringkasan: curl ialah alat baris arahan yang berkuasa yang digunakan untuk komunikasi data dengan pelayan. Artikel ini akan memperkenalkan penggunaan asas perintah curl dan memberikan contoh kod sebenar untuk membantu pembaca memahami dan menggunakan arahan dengan lebih baik. 1. Apakah curl? curl ialah alat baris arahan yang digunakan untuk menghantar dan menerima pelbagai permintaan rangkaian. Ia menyokong berbilang protokol, seperti HTTP, FTP, TELNET, dll., dan menyediakan fungsi yang kaya, seperti muat naik fail, muat turun fail, penghantaran data, proksi

Tutorial JavaScript: Bagaimana untuk mendapatkan kod status HTTP, contoh kod khusus diperlukan: Dalam pembangunan web, interaksi data dengan pelayan sering terlibat. Apabila berkomunikasi dengan pelayan, kami selalunya perlu mendapatkan kod status HTTP yang dikembalikan untuk menentukan sama ada operasi itu berjaya dan melaksanakan pemprosesan yang sepadan berdasarkan kod status yang berbeza. Artikel ini akan mengajar anda cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan menyediakan beberapa contoh kod praktikal. Menggunakan XMLHttpRequest

Sebagai bahasa pengaturcaraan yang digunakan secara meluas dalam bidang pembangunan perisian, bahasa C adalah pilihan pertama bagi ramai pengaturcara pemula. Mempelajari bahasa C bukan sahaja dapat membantu kita mewujudkan pengetahuan asas pengaturcaraan, tetapi juga meningkatkan kebolehan menyelesaikan masalah dan pemikiran kita. Artikel ini akan memperkenalkan secara terperinci pelan hala tuju pembelajaran bahasa C untuk membantu pemula merancang proses pembelajaran mereka dengan lebih baik. 1. Belajar tatabahasa asas Sebelum mula mempelajari bahasa C, kita perlu memahami peraturan tatabahasa asas bahasa C terlebih dahulu. Ini termasuk pembolehubah dan jenis data, operator, pernyataan kawalan (seperti pernyataan if,

Numpy ialah perpustakaan pengkomputeran saintifik Python yang menyediakan pelbagai fungsi dan alatan operasi tatasusunan. Apabila menaik taraf versi Numpy, anda perlu menanyakan versi semasa untuk memastikan keserasian Artikel ini akan memperkenalkan kaedah pertanyaan versi Numpy secara terperinci dan memberikan contoh kod tertentu. Kaedah 1: Gunakan kod Python untuk menanyakan versi Numpy Anda boleh membuat pertanyaan versi Numpy menggunakan kod Python Berikut ialah kaedah pelaksanaan dan kod contoh: importnumpyasnpprint(np
