JS In addition to the basic type, is the object. Can be said in JS everywhere objects.
Since JS is a weak language, it is easy to confuse object and class in the process of writing objects and constructors .
Object ( object ): The generic object is declared by the var keyword.
class ( constructor ):js In addition to declaring a function, you can also declare the constructor. Therefore, the constructor is a special function.
To create an object:
There are two common ways to create objects.
(1) object literal
var obj = {a:1, b:2}; // Output 1
Object literals can also be nested within objects created by objects
var // Output 3
Literal construct object function
var obj = {a: 1 b: 2 // Create object function add () { return this . A + this .B; }, // function override add (x, y) { return x + Y; }};obj.add (OBJ.A,OBJ.B); // output 3 obj.add (); // output 3
Note: The object literal is created not by Class (class) But by object (object), so the object created by the literal cannot be used as class to go to new.
var obj = {a:1, b:2}; var New // Error
(2) The constructor creates the object. (class New Object)
The constructor creates the object, creating the constructor (class) first. This is in the same vein as the class new object in other languages.
To create a constructor:
1.function Creation Constructor
function // Constructors var new obj (); // Creating Objects
The function in JS can also be used as a constructor.
2. Constructor creating a constructor
function obj () { this . Name = "Obj_name" ; this . From = "Obj_china" ; this . Say = function () { Console.log ("My name is" + this . _name + "I ' m from" + this .from); }} var obj_1 = new obj (); Obj_1.say (); // output "My name is Undefinedi ' m from Obj_ China "
Constructor creating a constructor is a pre-set of properties and functions with the This keyword for use by objects under class.
constructor is similar to a factory, and the drawback is that every time you create an object, you call the factory and waste memory.
3.prototype Create a constructor
function obj () {} = "Obj_name"; = "Obj_hobby"; New Array (); var New obj (); var New obj (); Obj_1.arr.push ("one"); obj_2.arr[0] // output One
Disadvantage once you modify the prototype properties, the properties of the objects on the prototype chain are modified.
The prototype constructor defines properties and functions through prototype, and each object created by the prototype constructor is shared with these properties and functions defined by prototype.
JS OOP < a > Create object, Constructor (class)