Share several ways to create objects in JS
This article mainly shares with you several ways to create objects in JS, hoping to help you.
1. Use native constructors to create objects of specific types
var person =new Object(); person.name="wangwu"; person.age="20"; person.sayName=function(){ alert(this.name); }
2. Use object literals
var person = { name:"wangwu", age:"20", sayName: function(){ alert(this.name); } }
Summary : Both methods can be used to create a single object, but they have obvious disadvantages. Using the same interface to create many objects will produce a lot of duplicate code.
3. Use the factory pattern
function createPerson(name,age){ var o=new Object(); o.name=name; o.age=age; o.sayName=function(){ alert(this.name); }; return o; } var person1=createPerson("wangwu",20);
Abstracts the process of creating specific objects, invents a function, and uses the function to encapsulate the creation of objects with a specific interface detail.
4. Constructor pattern
function Person(name,age){ this.name=name; this.age=age; this.sayName=function(){ alert(this.name); }; } var person1=new Person("wangwu",20);
Create a custom constructor to define the properties and methods of the custom object type.
5. Prototype pattern
function Person(){ } Person.prototype.name="wangwu"; Person.prototype.age=20; Person.prototype.sayName=function(){ alert(this.name); } var person1=new Person(); person1.sayName(); //wangwu
Every function we create has a prototype (prototype) attribute, which is a pointer pointing to an object, and this The purpose of an object is to contain properties and methods that can be shared by all instances of a specific type. The disadvantage of the prototype pattern is that it omits the step of passing initialization parameters to the constructor. As a result, all instances obtain the same attribute values by default; all attributes in the prototype are shared by many instances. For attributes containing reference type values, The problem is more prominent.
6. Combined use of constructor pattern and prototype pattern
function Person(name,age){ this.name=name; this.age=age; this.friends=["wangwu","zhangsan"]; } Person.prototype={ constructor:Person, sayName:function(){ alert(this.name); } } var person1=new Person("wangwu",20); var person2=new Person("zhangsan",23); person1.friends.push("lisi"); alert(person1.friends); //"wangwu,zhangsan,lisi" alert(person2.friends); //"wangwu,zhangsan"
7. Dynamic prototype pattern
function Person(name,age,job){ //属性 this.name=name; this.age=age; this.job=job; //方法 if(typeof this.sayName!="function"){ person.prototype.sayName=function(){ alert(this.name); }; } } var friend=new Person("wangwu",20); friends.sayName();
8. Parasitic constructor pattern
function Person(name,age){ var 0=new Object(); o.name="wangwu"; o.age=20; o.sayName=function(){ alert(this.name); }; return o; } var friend=new Person("wangwu",20); friend.sayName(); //"wangwu"
9. Safe constructor pattern
function Person(name,age,job){ //创建要返回的对象 var o=new Object(); //可以在这里定义私有变量和函数 //添加方法 o.sayName=function(){ alert(name); }; //返回对象 return o; } var friend=Person("wangwu",20); friend.sayName(); //"wangwu"
Related recommendations:
JS Create Object Summary of methods (sample code)
Several ways to create objects in JS
Summary of several common ways to create objects in JS (recommended) _js object-oriented
The above is the detailed content of Share several ways to create objects in JS. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Quark Netdisk and Baidu Netdisk are very convenient storage tools. Many users are asking whether these two softwares are interoperable? How to share Quark Netdisk to Baidu Netdisk? Let this site introduce to users in detail how to save Quark network disk files to Baidu network disk. How to save files from Quark Network Disk to Baidu Network Disk Method 1. If you want to know how to transfer files from Quark Network Disk to Baidu Network Disk, first download the files that need to be saved on Quark Network Disk, and then open the Baidu Network Disk client. , select the folder where the compressed file is to be saved, and double-click to open the folder. 2. After opening the folder, click "Upload" in the upper left corner of the window. 3. Find the compressed file that needs to be uploaded on your computer and click to select it.

1. First, we enter NetEase Cloud Music, and then click on the software homepage interface to enter the song playback interface. 2. Then in the song playback interface, find the sharing function button in the upper right corner, as shown in the red box in the figure below, click to select the sharing channel; in the sharing channel, click the "Share to" option at the bottom, and then select the first "WeChat Moments" allows you to share content to WeChat Moments.

WebSocket and JavaScript: Key technologies for realizing real-time monitoring systems Introduction: With the rapid development of Internet technology, real-time monitoring systems have been widely used in various fields. One of the key technologies to achieve real-time monitoring is the combination of WebSocket and JavaScript. This article will introduce the application of WebSocket and JavaScript in real-time monitoring systems, give code examples, and explain their implementation principles in detail. 1. WebSocket technology

Recently, Baidu Netdisk Android client has ushered in a new version 8.0.0. This version not only brings many changes, but also adds many practical functions. Among them, the most eye-catching is the enhancement of the folder sharing function. Now, users can easily invite friends to join and share important files in work and life, achieving more convenient collaboration and sharing. So how do you share the files you need to share with your friends? Below, the editor of this site will give you a detailed introduction. I hope it can help you! 1) Open Baidu Cloud APP, first click to select the relevant folder on the homepage, and then click the [...] icon in the upper right corner of the interface; (as shown below) 2) Then click [+] in the "Shared Members" column 】, and finally check all

Mango TV has various types of movies, TV series, variety shows and other resources, and users can freely choose to watch them. Mango TV members can not only watch all VIP dramas, but also set the highest definition picture quality to help users watch dramas happily. Below, the editor will bring you some free Mango TV membership accounts for users to use, hurry up and take a look Take a look. Mango TV latest member account free sharing 2023: Note: These are the latest member accounts collected, you can log in directly and use them, do not change the password at will. Account number: 13842025699 Password: qds373 Account number: 15804882888 Password: evr6982 Account number: 13330925667 Password: jgqae Account number: 1703

JavaScript tutorial: How to get HTTP status code, specific code examples are required. Preface: In web development, data interaction with the server is often involved. When communicating with the server, we often need to obtain the returned HTTP status code to determine whether the operation is successful, and perform corresponding processing based on different status codes. This article will teach you how to use JavaScript to obtain HTTP status codes and provide some practical code examples. Using XMLHttpRequest

Title: To solve the problem that Discuz WeChat shares cannot be displayed, specific code examples are needed. With the development of the mobile Internet, WeChat has become an indispensable part of people's daily lives. In website development, in order to improve user experience and expand website exposure, many websites will integrate WeChat sharing functions, allowing users to easily share website content to Moments or WeChat groups. However, sometimes when using open source forum systems such as Discuz, you will encounter the problem that WeChat shares cannot be displayed, which brings certain difficulties to the user experience.

HP printers are essential printing equipment in many offices. Installing the printer driver on the computer can perfectly solve problems such as the printer being unable to connect. So how to install HP printer driver? The editor below will introduce you to two HP printer driver installation methods. The first method: download the driver from the official website 1. Search the HP China official website in the search engine, and in the support column, select [Software and Drivers]. 2. Select the [Printer] category, enter your printer model in the search box, and click [Submit] to find your printer driver. 3. Select the corresponding printer according to your computer system. For win10, select the driver for win10 system. 4. After downloading successfully, find it in the folder
