Objects constructor:
to have an "object type" that can be used to create many objects of one type.
The standard way to create an "object type" is to use an object constructor function.
<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> function person(first, last, age, eye) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eye; } var myFather = new person("John", "Doe", 50, "blue"); var myMother = new person("Sally", "Rally", 48, "green"); document.getElementById("demo").innerHTML = "My father is " + myFather.age + ". My mother is " + myMother.age; </script> </body> </html>
运行图如下:
The this Keyword
In JavaScript, the thing called this, is the object that "owns" the JavaScript code.
The value of this, when used in a function, is the object that "owns" the function.
The value of this, when used in an object, is the object itself.
The this keyword in an object constructor does not have a value. It is only a substitute for the new object.
The value of this will become the new object when the constructor is used to create an object.
AND JavaScript Objects are Mutable
<!DOCTYPE html> <html> <body> <p>JavaScript objects are mutable.</p> <p>Any changes to a copy of an object will also change the original.</p> <p id="demo"></p> <script> var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"} var x = person; x.age = 20; document.getElementById("demo").innerHTML = person.firstName + " is " + x.age + " years old."; </script> </body> </html>
运行图如下: