$super 关键字

Xunxin Prototype API

$super

Prototype 定义的关键字,用于在子类中调用基类的方法。

在子类重写基类的方法时,有时需要调用基类的方法,为实现这个目的,Prototype 提供了 $super 关键字,可以获取基类同名方法的引用。 $super 关键字的使用非常简单:在子类需要重写的方法中,将 $super 作为方法的第一个参数,Prototype 在检测到该关键字后, 会自动将该关键字指向基类的同名方法,然后使用 $super(基类方法参数) 就可以调用基类中被覆盖的方法了。

var baseClass = Class.create({
	initialize: function(name){
		this.name = name;
	},
	show: function(msg){
		alert(msg + ' ' + this.name);
	}
});

var subClass = Class.create(baseClass, {
	show: function($super, msg){
		$super(msg + '\n我是子类。');
	}
});

var subObj = new subClass('ORain');
subObj.show('Hello, World!');
注意:在调用子类的 show 方法时,只需要传递一个参数,$super 由 Prototype 处理。