wpe*_*rse 6 javascript inheritance namespaces subclass
我被要求将一些PHP代码移植到JavaScript中,以便我们的更多逻辑在客户端运行.我想要的是一个简单的例子,显示:
我不介意使用某种现有的框架,但它必须是轻量级的 - 理想情况下不超过200 LOC(未缩小).
这是我的尝试,FWIW:
var Package = {};
Package.Master = function(pValue) {
this.p = pValue;
this.m = function() {
alert("mmmmm");
}
}
Package.Slave = function(pValue) {
// this will inherit from Package.Master
}
// one of the many online examples:
// http://kevlindev.com/tutorials/javascript/inheritance/index.htm
KevLinDev.extend = function(subClass, baseClass) {
function inheritance() {}
inheritance.prototype = baseClass.prototype;
subClass.prototype = new inheritance();
subClass.prototype.constructor = subClass;
subClass.baseConstructor = baseClass;
subClass.superClass = baseClass.prototype;
}
KevLinDev.extend(Package.Slave, Package.Master);
Run Code Online (Sandbox Code Playgroud)
我非常喜欢John Resig的简单Javascript继承.
例如:
var Package = {};
Package.Master = Class.extend({
init: function(pValue) {
this.p = pValue;
},
m: function() {
alert("mmmmm");
}
});
Package.Slave = Package.Master.extend({
init: function(pValue) {
this._super(pValue);
}
});
var slave = new Package.Slave(10);
slave.m();
Run Code Online (Sandbox Code Playgroud)
我认为这是一种方法:
var Package = {};
Package.Master = function(pValue) {
this.p = pValue;
this.m = function() {
alert("mmmmm");
}
}
Package.Slave = function(pValue) {
//Call constructor of super class
Package.Master.call(this, pValue);
}
Package.Slave.prototype = new Package.Master;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16057 次 |
| 最近记录: |