Home >Web Front-end >JS Tutorial >JavaScript introductory tutorial (12) js object programming_basic knowledge

JavaScript introductory tutorial (12) js object programming_basic knowledge

WBOY
WBOYOriginal
2016-05-16 18:56:151005browse

with statement specifies a default object for a statement or group of statements.
Usage:
with () ; The
with statement is usually used to shorten the amount of code that must be written in a specific situation. In the example below, note the repeated use of Math:
x = Math.cos(3 * Math.PI) Math.sin(Math.LN10);
y = Math.tan(14 * Math. E);
When using the with statement, the code becomes shorter and more readable:

Copy code The code is as follows:

with (Math) {
x = cos(3 * PI) sin(LN10);
y = tan(14 * E);
}

this object returns the "current" object. In different places, this represents different objects. If this is used in the "main program" of JavaScript (not in any function, not in any event handler), it represents the window object; if this is used in the with statement block, it represents the object specified by with; if When you use this in an event handler, it represents the object on which the event occurred.
A common usage of this:
Copy code The code is as follows:

...
function check(formObj) {
...
}
...

...

...

...

...


This usage is often used to immediately check the validity of the 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.
Copy code The code is as follows:

function [(< Parameters>)] {
...
this. = ;
...
}

Then, use the new constructor keyword to construct the variable:
var = new [()];
After constructing the variable, < Variable name> becomes an object, which has its own properties - properties set in the function using this.
The following is an example of a custom constructor found online to collect browser details:
Copy code Code As follows:

function Is() {
var agent = navigator.userAgent.toLowerCase();
this.major = parseInt(navigator.appVersion); //Major version number
this.minor = parseFloat(navigator.appVersion);//Full version number
this.ns = ((agent.indexOf('mozilla')!=-1) &&
((agent.indexOf( 'spoofer')==-1) && //Whether Netscape
(agent.indexOf('compatible') == -1)));
this.ns2 = (this.ns && (this.major == 3)); // Whether Netscape 2
this.ns3 = (this.ns && (this.major == 3)); // Whether Netscape 3
this.ns4b = (this.ns && (this.minor < 4.04)); // Whether Netscape 4 is a low version
this.ns4 = (this.ns && (this.major >= 4)); // Whether Netscape 4 is a high version
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 IE 4
this.op3 = (agent.indexOf("opera") != -1); //Whether it is Opera 3
this.win = (agent.indexOf("win")!=-1); //Whether it is Windows version
this.mac = (agent.indexOf("mac")!= -1); //Whether it is Macintosh version
this.unix = (agent.indexOf("x11")!=-1); //Whether it is Unix version
}
var is = new Is() ;

This constructor collects browser information very completely. We see that it defines many attributes for objects: 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 us look at another constructor using parameters:
Copy the code The code is as follows:

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 (the above example The five attributes are: string, Boolean, 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.
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn