我正在一个网站上工作并且第一次使用JQuery.我以前的项目主要使用MooTools,我有一些使用MooTools类结构编写的小部件类.我想将它们移植到JQuery,但它看起来就像MooTools功能在对象类方面没什么相似之处.
我搜索了一下,并没有找到太多.Digg似乎已经推出了自己的产品,但我不确定这是否是我应该使用的东西.有没有更好的办法?人们通常使用JQuery如何面向对象?封装UI小部件(或任何功能类结构)的常用方法是什么?
我将发布一个可能的MooTools小部件类的假例子:
var ZombatWidget = new Class({
Extends: BaseWidget,
widgetPropertyX = 'prop1',
widgetPropertyY = 'prop2',
attach = function(el) {
var f = function() {
//do something widgety
};
el.addEvent('dblclick',f);
el.addClass('widgetized');
}
});
var z = new ZombatWidget();
z.attach($('widgetDiv'));
Run Code Online (Sandbox Code Playgroud)
我得到的是比这更大的东西,但你明白了.我是否需要将其转换prototype为类/继承结构的方法?你会如何使用JQuery编写这种对象类?
使用这种模式的JavaScript"类"有什么缺点吗?
var FooClass = function()
{
var private = "a private variable";
this.public = "a public variable";
var privatefn = function() { ... };
this.publicfn = function() { ... };
};
var foo = new FooClass();
foo.public = "bar";
foo.publicfn();
Run Code Online (Sandbox Code Playgroud) 根据Microsoft 文档,可以使用ActiveXObject()和WScript.CreateObject()函数创建 COM 对象的实例。好像线条
var objXL = new ActiveXObject("Excel.Application");
Run Code Online (Sandbox Code Playgroud)
和
var objXL = WScript.CreateObject("Excel.Application");
Run Code Online (Sandbox Code Playgroud)
是相同的。这是一个真实的假设吗?如果不是,有什么区别?显示差异的示例将不胜感激。
PS这个被标记为重复的帖子是关于 VBScript 的CreateObject()方法和 JScript 的WScript.CreateObject(). 它回答提到了 JScript 的ActiveXObject()构造函数,没有进一步详细说明。
javascript ×2
activex ×1
class ×1
jquery ×1
jscript ×1
mootools ×1
oop ×1
performance ×1
wsh ×1