Home > Web Front-end > JS Tutorial > body text

Object programming in JavaScript

高洛峰
Release: 2016-11-25 11:36:29
Original
980 people have browsed it

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 () ; The
with statement is usually used to shorten the amount of code that must be written in a specific situation. In the example below, please 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:
with (Math) {
x = cos(3 * PI) + sin(LN10);
y = tan(14 * E);
}
The 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:


...


...

...
...

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 = new [()];
After constructing the variable, becomes an object , it has its own properties - properties set in the function using this.

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.


Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!