Home >Web Front-end >JS Tutorial >Object Programming in JavaScript_Basic Knowledge

Object Programming in JavaScript_Basic Knowledge

WBOY
WBOYOriginal
2016-05-16 19:06:351239browse

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 specifies the default object for a statement or a group of statements.

Usage:
with () ;

with statement is usually used to shorten the amount of code that must be written in a specific situation. In the following example, 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);
}

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 function to define properties. function [(
)] {
... this. =
;
...
}

Then, use the new constructor keyword to construct the variable: var = new [(
)];
After constructing the variable,
becomes an object, it Has its own properties - properties set in 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); //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 it is Netscape 3 this.ns4b = (this.ns && (this.minor this.ns4 = (this.ns && (this.major >= 4)); //Whether it is Netscape 4 higher version
this.ie = (agent.indexOf("msie") != -1); //Whether it is 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();
<script> <BR>... <BR>function check(formObj) { <BR> ... <BR>} <BR>... <BR></script>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:
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 It is possible to use different data types for different attributes (the five attributes in the above example 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.
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