e.g.
function myArea(r){
a=new myCirc();
function myCirc(){
this.x=myArea;
}
return r*r*3.1415;
}
var output=a.x(12);
output = 452.376
So what is happening here?
1.var output=a.x(12);
// The argument, 12, is associated with a property 'x' in 'a'.
2. 'a' is a variable which references a new instance of 'myCirc'.
3. The property 'x' is not explicitly defined for 'a' in terms of the reference 'a'.
// I could have written: a.x = aValue; but this is not found for x in a.
4. The original function myCirc does contain a property 'x'. ('this.x')
5. This property is a method, myArea and it computes the area of a circle with radius 12.
So here is the path of the argument '12'.
No explicitly defined property 'x' exists for 'a'.
So the original 'myCirc' is checked for the property x.
It has been defined in myCirc: 'this.x', and it is a function - myArea.
So output = myArea: return 12*12*3.1415 = 452.376.
| » Level Intermediate |
|
Added: 2001-06-22 Rating: 8 Votes: 30 |
| » Author |
| No details available. |
| » Download |
| Download the files used in this tutorial. |
| Download (0 kb) |
| » Forums |
| More help? Search our boards for quick answers! |
-
You must have javascript enabled in order to post comments.


Comments
There are no comments yet. Be the first to comment!