javascript mvc入门基础1--基本类的使用

首先去下载jquerymx.custom.js, 我的资源里有提供下载http://download.csdn.net/download/zfc2201/5131469。


$.Class类提供了一个模拟类继承的方式,它弥补了jquery函数式编程和面向对象编程的不足,它根据jquery之父(John Resig)的一篇博文改编而来(http://ejohn.org/blog/simple-javascript-inheritance/|Simple Class)。


$.Class是基于原型继承的,它主要以下几个重要的特性:

1.静态继承。

2.内省。

3.命名空间。

4.Setup和init初始化方法。

5.易于创建回调函数。


在学习Class之前,明白类的静态属性和原型属性的不同是很重要的。

//STATIC
MyClass.staticProperty  //shared property
//PROTOTYPE
myclass = new MyClass();
myclass.prototypeMethod() //instance method
静态属性能被类自己的构造函数和类的所有实例所共享,而实例属性只能用于类的实例。


下面举例一个基本的类,用于说明静态属性与实例属性的区别:

function out(msg) {
	console.log(msg);
}

$.Class('Monster',
/* @static */
{
	count : 0
},
/* @prototype */
{
	init : function(name) {
		// saves name on the monster instance
		this.name = name;
	
		// sets the health
		this.health = 10;
	
		// increments count
		this.constructor.count++;
	},
	eat : function(smallChildren) {
		this.health += smallChildren;
		return this.health;
	},
	fight : function() {
		this.health -= 2;
		return this.health;
	}
});

var hydra = new Monster('hydra');

var dragon = new Monster('dragon');

out(hydra.name);
// -> hydra
out(Monster.count);
// -> 2
out(Monster.shortName);
// -> 'Monster'

out(hydra.eat(2)); // health = 12

out(dragon.fight()); // health = 8

从上面的例子可以看出来,count是静态属性,它被类的两个实例共享,而实例属性health两个实例各自拥有一份,彼此不相互影响。

需要注意的是当实例被创建时,类的init方法被调用了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值