日期:2014-05-16  浏览次数:20421 次

javascript代码不懂,有谁能解释一下吗?this.globals

 //实现框选放大缩小功能

 function DragZoomControl(opts_boxStyle, opts_other, opts_callbacks) {

 this.globals = {

 draggingOn: false,

 cornerTopDiv: null,

 cornerRightDiv: null,

 cornerBottomDiv: null,

 cornerLeftDiv: null,

 mapPosition: null,

 outlineDiv: null,

 mapWidth: 0,

 mapHeight: 0,

 mapRatio: 0,

 startX: 0,

 startY: 0,

 borderCorrection: 0

 };

 //设置边框的style

 this.globals.style = {

 opacity: .2,

 fillColor: "#000",

 border: "2px solid blue"

 };


 var style = this.globals.style;

 for (var s in opts_boxStyle) {

 style[s]=opts_boxStyle[s];

 }


 var borderStyleArray = style.border.split(' ');

 style.outlineWidth = parseInt(borderStyleArray[0].replace(/\D/g,''));

 style.outlineColor = borderStyleArray[2];

 style.alphaIE = 'alpha(opacity=' + (style.opacity * 100) + ')';

 this.globals.backStack=[];

------解决方案--------------------
ECMAScript 定义类或对象

引用
构造函数方式
创建构造函数就像创建工厂函数一样容易。第一步选择类名,即构造函数的名字。根据惯例,这个名字的首字母大写,以使它与首字母通常是小写的变量名分开。除了这点不同,构造函数看起来很像工厂函数。请考虑下面的例子:
function Car(sColor,iDoors,iMpg) {
this.color = sColor;
this.doors = iDoors;
this.mpg = iMpg;
this.showColor = function() {
alert(this.color);
};
}

var oCar1 = new Car("red",4,23);
var oCar2 = new Car("blue",3,25);