Skip to content

blearjs/blear.classes.class

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blear.classes.class

npm module build status coverage

静态方法

.alias(aliasName, originalName)

原型方法的别名。

var AA = Class.extend({
    constructor: function () {},
    a: function () {}
});

AA.alias('a2', 'a');
// AA.prototype.a2 === AA.prototype.a

.sole()

生成唯一的随机值,用于原型受保护的方法、属性,防止继承类将其覆盖。

var AA = Class.extend({
    constructor: function () {
        this[_protectedProperty] = 123;
        this[_protectedMethod] = function () {};
    },
});
var _protectedProperty = AA.sole();
var _protectedMethod = AA.sole();

.extend(prototype)

基于当前类扩展新的子类。

var AA = Class.extend({
    constructor: function () {}
});

var BB = AA.extend({
    constructor: function () {}
});

// BB 继承了 AA

.parent(instance, [arg1, arg2])parent[method](instance, [arg1, arg2])

var AA = Class.extend({
    constructor: function () {},
    a: function () {}
});

var BB = AA.extend({
    constructor: function () {
        // 调用父类构造函数
        BB.parent(this);
    }
});

BB.protyotype.b = function () {
    // 调用父类原型 a 方法
    BB.parent.a(this);
};

.method(protoName, factory)

var A = Class.extend({
    constructor: function () {}
});

A.method('get', function () {
    return 'get';
});

.ify(constructor)

转换构造函数,添加 extend 方法

var A = function(){};

A = Class.ify(A);
A.extend(...);

About

JavaScript 类的创建、扩展

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published