Statements about object-based programming Now we have the strength to learn the following about object-based programming, but it actually belongs to the previous chapter.
with statement Specify the default object for a statement or a group of statements.
Usage:
with (
A common usage of this:
<script><br>...<br>function check(formObj) {<br> ...<br>}<br>...<br></script>
This usage is often used to immediately check the validity of form input.
Custom constructor We already know that constructors such as Array() and Image() allow us to construct a variable. In fact, we can also write our own constructor. Custom constructors also use function. Use this inside a function to define properties.
function
...
this.
...
}
Then, use Use the new constructor keyword to construct a variable:
var
After constructing the variable,
The following is an example of a custom constructor found on the Internet to collect browser details:
function Is() {
var agent = navigator.userAgent.toLowerCase();
this.major = parseInt(navigator.appVersion ; spoofer)==-1) && //Is it Netscape? (agent.indexOf(compatible) == -1)));
this.ns2 = (this.ns && (this.major == 3)); // Is it Netscape 2? this.ns3 = (this.ns && (this.major == 3)); // Is it Netscape 3? this.ns4b = (this.ns && (this.minor < 4.04)); // Is it Netscape 3? Is it a lower version of Netscape 4? this.ns4 = (this.ns && (this.major >= 4)); // Is it a higher version of Netscape 4? this.ie = (agent.indexOf("msie") != - 1); //Whether IE
this.ie3 = (this.ie && (this.major == 2)); //Whether IE 3
this.ie4 = (this.ie && (this.major >= 4 )); //Whether it is IE 4
this.op3 = (agent.indexOf("opera") != -1); //Whether it is Opera 3
this.win = (agent.indexOf("win")!=- ; 1); //Whether the Unix version is
}
var is = new Is();
This constructor collects browser information very completely. We see that it defines many attributes for the object: major, minor, ns, ie, win, mac, etc. See the notes above for their meanings. After defining the is variable as an Is() object, you can easily know the browser information using the format if (is.ns). We can also see from this constructor that it can also use normal JavaScript statements (var statements in the above example).
Let’s look at another constructor with parameters:
function myFriend(theName, gender, theAge, birthOn, theJob) {
this.name = theName;
this.isMale = (gender.toLowerCase == male);
this.age = theAge;
this.birthday = new Date(birthOn);
this.job = theJob
}
var Stephen = new myFriend(Stephen, Male, 18, Dec 22, 1982, Student);
From this constructor, we not only see the usage of parameters, but also see that different attributes can use different data types (above) For example, the five attributes are: string, Boolean value, number, date, string). We also saw that the constructor can also be used to "construct" attributes in the constructor. If enough "protection measures" are used to avoid infinite loops, you can use the constructor itself to construct your own properties.