如果我没有错,那么'Class'
在 javascript 中就没有这样的东西,而是一切都是对象。
但我碰巧找到了一个实际上有一个类的代码/脚本。
我想知道如何(下面给出的代码示例)
1)这种类型的代码编写有助于管理代码和功能吗?(是的,我认为一切都在全局 Sidebar 对象中,所以它很好,命名空间,没有冲突。你的意见?)
2)你如何调用在这种类型的类中编写的任何函数?
3)这种风格实际上是否有任何性能改进?有人可以发布一个更好的工作示例吗?脚本取自http://jsfiddle.net/js/Sidebar.js
// 注意 reportAbuse 函数 .... 如何在函数内调用函数?它们是否可公开访问
var Sidebar = new Class({
Implements: [Options, Events],
parameter: "Sidebar",
options: {
DOM: '',
toggleSidebar: 'toggleSidebar'
},
initialize: function(options) {
this.setOptions(options);
// Some more code
},
toElement: function() {
return this.element;
},
hide: function() {
this.element.hide();
this.contentMargin = $('content').getStyle('marginLeft');
$('content').setStyle('marginLeft', 13);
this.hidden = true;
Layout.resize();
},
show: function() {
$('content').setStyle('marginLeft', this.contentMargin);
this.element.show();
this.hidden = false;
Layout.resize();
},
reportAbuse: {
setup: function() {
this.element = {
textarea: document.id('abuse-text'),
submit: document.id('send-abuse')
};
if (this.element.textarea && this.element.submit) {
this.element.submit.addEvents({
click: this.validate.bind(this)
});
}
},
validate: function(event) {
event.stop();
if (this.element.textarea.get('value').trim() !== '') {
this.send();
} else {
this.element.textarea.highlight();
}
}
// Few more functions within reportAbuse function
}
});