10. mootools.js에서 클래스를 작성하는 방법 mootools.js의 최신 버전은 1.2.3이며, 여기서는 1.2.0을 사용합니다. mootool은 매우 컴팩트한 모듈식 객체 지향 js 라이브러리로 설계되었습니다. Mootool에서 클래스를 작성하려면 Class 클래스를 사용하세요. Class 클래스는 Native 클래스의 새로운 클래스입니다.
/*
*스크립트: Class.js
*/
var Class = new Native({
name: 'Class',
initialize: function(properties){
properties = 속성 || {};
var klass = function(empty){
for (var key) this[key] = $unlink(this[key])
for ( var mutator in Class .Mutator){
if (!this[mutator]) continue
Class.Mutators[mutator](this, this[mutator])
delete this[mutator]; >}
this.constructor = klass;
if (empty === $empty) return this;
var self = (this.initialize) ? this, 인수 ) :
if (this.options && this.options.initialize) this.options.initialize.call(this)
return self
}; klass, this) ;
klass.constructor = Class;
klass.prototype = Properties;
return klass;
}
네이티브 메소드 mootools 중 하나입니다. 매우 중요한 방법으로 많은 클래스에서 이를 사용하여 조립합니다. 창, 문서, 이벤트 등. 물론 여기에도 Class가 있습니다. mootools를 가져온 후에는 클래스를 작성할 때 Class만 사용하면 됩니다. Person 클래스:
코드 복사
코드는 다음과 같습니다. /*** 사람类 * @param {객체} 이름
*/
var Person = new Class({
initialize: 함수(이름){
this.name = 이름;
},
setName : 함수(이름) {
this.name = name;
},
getName : function() {
return this.name;
}
})
//객체 새로 만들기
var p = new Person("jack");
//테스트 세트, 메소드 가져오기
console.log(p.getName());//jac
p.setName(' andy') ;
console.log(p.getName());//andy
//instanceof 및 p.constructor가 Person을 올바르게 가리키는지 테스트
console.log(p instanceof Person ); / /true
console.log(p.constructor == Person); //true
네이티브는 실제로 전달된 클래스(함수)를 조립하는 일반적인 함수입니다. 마지막으로 클래스(함수)를 반환합니다. Native는 함수이므로 함수 호출 방식은 (), call, apply 입니다. 하지만 mootools에서는 새로운 Native(obj) 메소드가 사용됩니다. 왜? 그 이유는 네이티브를 클래스처럼 보이게 만들기 위해서입니다.