top$apply

Argumentos

Object: especifica el valor de la palabra clave this.
Array[optional]: argumentos que enviamos a la función.

Permite llamar a una función y especificar la palabra clave this.
Este método es útil para los métodos estáticos públicos y los métodos almacenados en $$super, ya que el método nativo apply no funciona correctamente con estos.


function ClassA(){
	var message = "ClassA";
	this.getMessage = function(){
		return message;
	};
	this.setMessage = function(msg){
		message = msg;
	};

	this.$$DEFINE_STATIC = function(){
		this.$$static.instances = [];
		this.$$static.setMessage = function(msg){
			this.setMessage(msg);
		};
	};
	this.$$constructor = function(msg){
		 message =  msg || message;
		 this.$$static.instances.push(this);
	};

};

var ClassA = Class.create("ClassA",ClassA);

var inst1 = new ClassA("1");
var inst2 = new ClassA("2");
inst1.$$static.setMessage("Hi!!");
inst2.$$static.setMessage.$apply(inst2,["Hi!!"]);
alert(inst1.getMessage()); // 1
alert(inst2.getMessage()); // Hi!!
top$call

Argumentos

Object: especifica el valor de la palabra clave this.
Arg1,Arg2,etc..[optional]: los argumentos que queremos enviar a la función .

Igual que $apply, sólo se diferencia en la forma de enviar los argumentos a la función.


function ClassA(){
	var message = "ClassA";
	this.getMessage = function(){
		return message;
	};
	this.setMessage = function(msg){
		message = msg;
	};

	this.$$DEFINE_STATIC = function(){
		this.$$static.instances = [];
		this.$$static.setMessage = function(msg){
			this.setMessage(msg);
		};
	};
	this.$$constructor = function(msg){
		 message =  msg || message;
		 this.$$static.instances.push(this);
	};

};

var ClassA = Class.create("ClassA",ClassA);

var inst1 = new ClassA("1");
var inst2 = new ClassA("2");
inst1.$$static.setMessage("Hi!!");
inst2.$$static.setMessage.$call(inst2,"Hi!!");
alert(inst1.getMessage()); // 1
alert(inst2.getMessage()); // Hi!!