Zeanium
介绍
Zeanium是完全面向对象的JavaScript底层框架, 它基于JavaScript语言本身封装, 没有任何前端、后端、第三方库限制, 只要能运行JavaScript的地方就可以运行zeanium核心底层库。你可以自由的使用面向对象的继承、封装、多态等等特性随意定义自己的类和模块。一次编写可以在前端、后端都可以运行。
相关产品
- zeanium-node: zeanium-node是基于zeanium, 是专门为nodejs开发的后端框架,提供了基础的
cache
、cli
、database
、io
、net
、parser
、session
、template
- zeanium-react-web: 基于zeanium和react同时支持web和wap端的前端UI框架
- zeanium-react-native: 基于zeanium和react native的Android/ios应用原生开发框架
官方QQ群: 627104335
有任务问题可以添加qq群进行咨询
顶级内置API接口
zn.idle()
: 空函数zn.idleArray()
: 返回空数组zn.idleObject()
: 返回空对象zn.format(string, argv...)
: 格式化字符串, 可以是多个参数, 也可以是一个数组参数, 字符串里面用{xx}类似作为占位符, 根据参数索引序列一次替换, 并返回替换好之后的最新字符串。
比如以下代码:
```javascript
1. zn.format('hello {0}, you are {1} year.', 'yangyxu', '2017');
2. zn.format('hello {0}, you are {1} year.', ['yangyxu', '2017']);
```
第一行代码和第二行代码效果是一样的. 输出都是 "hello yangyxu, you are 2017 year."
zn.uuid()
: 返回一个uuid字符串值zn.serializeJSON(jsonObject)
: 序列化json数据zn.fix(target, argv...)
: 根据argv补齐target的属性集zn.extend(target, argv...)
: 根据argv只扩展target的属性集zn.overwrite(target, argv...)
: 根据argv值重写target的属性集zn.path(target, path, value)
: 设置或获取对象target属性路径path下的值zn.invoke(target, path, args)
: 执行对象target路径path下的方法, argv作为输入参数zn.deepEachObject(data, handler, context)
: 深度遍历data对象, handler是遍历函数, context是每次遍历的作用域, 并返回一个新的对象;zn.arrayValueToObject(data, handler, context)
: 遍历数组并返回一个对象zn.toString(value)
: 获取value toString的值zn.each(target, callback, context)
: 遍历对象target, callback是遍历函数, context是callback的作用域zn.clone(target)
: 克隆target对象zn.type(target)
: 获取target类型zn.is(target, type)
: 判断对象target的类型是否是type类型zn.may(target, name)
: 判断对象target是否能执行"name"时间zn.can(target, name)
: 判断对象target是否可以执行"name"事件zn.has(target, name)
: 判断对象target是否有"name"属性zn.get(target, name)
: 获取target对象属性为"name"的值zn.set(target, name, value)
: 给target对象设置值zn.gets(target)
: 获取target对象所有属性值zn.sets(target, values)
: 给对象target 批量设置值
类
定义类
每个类都有 static
、statics
、mixins
、properties
、events
、methods
6个关键之;
static
:true
或false
, 默认值是false
, 值为true
时, 整个类是静态类, 不允许被实例化, 如果强制实例化, 系统会抛出TypeError
错误。statics
: 定义类的静态属性和方法mixins
: 继承多类, 常规是继承是单向继承, 只有一个父类, 但是有些需求是需要继承多类的就可以使用mixins关键字, 如:mixins: [User, Person]properties
: 定义类的属性集, 是一个json对象events
: 定义类的事件集, 是一个数组对象 配合对象的on/off使用methods
: 定义类的方法集, 是对象类型。init
是每个类唯一指定的构造函数, 每次实例化对象是,如果有init函数则一定会调用。
定义 人 类
var Person = zn; var _count = Person;console; //print: 1 var person1 = 'yangyxu' 20;person1name = "xu"; //<1>person1;//<2>//<1> is the same with <2>
- define any property, the system will generate the
_
+ property_name property. init
is default constructor function, the name is fixed. Callnew Person()
, init constructor function will be called;- define
say
customize method.
定义学生类 学生是继承人类
var Student = zn; var _yangyxu = 'yangyxu' 20 'g1';_yangyxu;//print://person hello yangyxu//student hello yangyxu
定义Teacher类
var Teacher = zn; var _yangyxu = 't1' 20;_yangyxu;
定义模块
使用AMD方式定义模块
定义模块
zn;