0
回答
Prototype与MooTools创建简单类的比较
滴滴云服务器,限时包月0.9元,为开发者而生>>>   

先来看Prototype的,官方地址是:http://prototypejs.org/learn/class-inheritance

范例如下:

var Person = Class.create();
Person.prototype = {
  initialize: function(name) {
    this.name = name;
  },
  say: function(message) {
    return this.name + ': ' + message;
  }
};

var guy = new Person('Miro');
guy.say('hi');
// -> "Miro: hi"

再来看MooTools的,官方地址是:http://mootools.net/docs/core/Class/Class

范例如下:

var Cat = new Class({
    initialize: function(name){
        this.name = name;
    }
});
var myCat = new Cat('Micia');
alert(myCat.name); // alerts 'Micia'

比较看以看出,这两个框架的类创建方式基本差不多,是可以很容易的互相转换的。笔者这里就有一个Prototype的类转换到MooTools的工作实例:

Prototype的

var IndexEvent=Class.create();
IndexEvent.prototype={
	initialize:function(){},
	userInter:function(A,C,B){
		if(C=="user"){
			if(A=="F"){
				B.style.color="#000";
				if(B.value=="Email或ID"){
					B.value="";
				}
			}else{
				if(A=="B"){
					if(B.value==""){
						B.value="Email或ID";
						B.style.color="#909090";
					}
				}
			}
		}else{
			if(C=="pwd"){}
		}
	},
	logon:function(){
		var B=$("username").value;
		if(B==""||B=="Email或ID"){
			alert("请填写账号.");
			$("username").focus();
			return false;
		}
		var A=$("password").value;
		if(A==""||A=="登录密码"){
			alert("请填写密码.");
			$("password").focus();
			return false;
		}return true;
	}
};
var QIndex=new IndexEvent();

转换到MooTools

var IndexEvent=new Class({
	initialize:function(){},
	userInter:function(A,C,B){
		if(C=="user"){
			if(A=="F"){
				B.style.color="#000";
				if(B.value=="Email或ID"){
					B.value="";
				}
			}else{
				if(A=="B"){
					if(B.value==""){
						B.value="Email或ID";
						B.style.color="#909090";
					}
				}
			}
		}else{
			if(C=="pwd"){}
		}
	},
	logon:function(){
		var B=document.getElementById("username").value;
		if(B==""||B=="Email或ID"){
			alert("请填写账号.");
			document.getElementById("username").focus();
			return false;
		}
		var A=document.getElementById("password").value;
		if(A==""||A=="登录密码"){
			alert("请填写密码.");
			document.getElementById("password").focus();
			return false;
		}
		return true;
	}
});
var QIndex=new IndexEvent();




举报
赵开锦
发帖于6年前 0回/623阅
顶部