用Javascript模拟类
我正试图让我在Javascript中的生活变得简单一点(至少对我的工作环境而言)。我试图将所有Javascript对象创建方法移动到一个“类”中。我有以下代码(用于创建超链接): 这是在Javascript中模仿“类”的正确方法吗?我当前在执行用Javascript模拟类,javascript,class,Javascript,Class,我正试图让我在Javascript中的生活变得简单一点(至少对我的工作环境而言)。我试图将所有Javascript对象创建方法移动到一个“类”中。我有以下代码(用于创建超链接): 这是在Javascript中模仿“类”的正确方法吗?我当前在执行new QuickDOM().A(“www.google.com”,“google”)时在Chrome中遇到以下错误: 有谁能给我一些建议,解释一下为什么这不起作用 注意:我使用的是作为指导。您正在添加实例方法,然后尝试在代码中静态访问它们 尝试将Quic
new QuickDOM().A(“www.google.com”,“google”)时在Chrome中遇到以下错误:代码>
有谁能给我一些建议,解释一下为什么这不起作用
注意:我使用的是作为指导。您正在添加实例方法,然后尝试在代码中静态访问它们
尝试将QuickDOM.createElement(“a”)
替换为this.createElement(“a”)
另外,分配实例方法的方式通常被认为是不好的做法。如果您这样做是为了拥有私有变量,我可以看到一些优点,但是如果您不是这样做的话,您可能希望将这些方法存在于原型上。您正在添加实例方法,然后尝试在代码中静态访问它们
尝试将QuickDOM.createElement(“a”)
替换为this.createElement(“a”)
另外,分配实例方法的方式通常被认为是不好的做法。如果您这样做是为了拥有私有变量,我可以看到一些优点,但是如果您不是这样做的话,您可能希望将这些方法存在于原型上。您正在添加实例方法,然后尝试在代码中静态访问它们
尝试将QuickDOM.createElement(“a”)
替换为this.createElement(“a”)
另外,分配实例方法的方式通常被认为是不好的做法。如果您这样做是为了拥有私有变量,我可以看到一些优点,但是如果您不是这样做的话,您可能希望将这些方法存在于原型上。您正在添加实例方法,然后尝试在代码中静态访问它们
尝试将QuickDOM.createElement(“a”)
替换为this.createElement(“a”)
另外,分配实例方法的方式通常被认为是不好的做法。如果您以这种方式使用私有变量,我可以看到一些优点,但如果您不是,您可能希望将这些方法存在于原型上。要使用createElement
或A
,您必须创建QuickDOM
的实例:
var quickDOM = new QuickDOM();
var element = quickDOM.createElement("a");
var element = this.createElement("a");
在A
方法中,您应该使用this
而不是QuickDOM
:
var quickDOM = new QuickDOM();
var element = quickDOM.createElement("a");
var element = this.createElement("a");
要使用createElement
或A
,必须创建QuickDOM
的实例:
var quickDOM = new QuickDOM();
var element = quickDOM.createElement("a");
var element = this.createElement("a");
在A
方法中,您应该使用this
而不是QuickDOM
:
var quickDOM = new QuickDOM();
var element = quickDOM.createElement("a");
var element = this.createElement("a");
要使用createElement
或A
,必须创建QuickDOM
的实例:
var quickDOM = new QuickDOM();
var element = quickDOM.createElement("a");
var element = this.createElement("a");
在A
方法中,您应该使用this
而不是QuickDOM
:
var quickDOM = new QuickDOM();
var element = quickDOM.createElement("a");
var element = this.createElement("a");
要使用createElement
或A
,必须创建QuickDOM
的实例:
var quickDOM = new QuickDOM();
var element = quickDOM.createElement("a");
var element = this.createElement("a");
在A
方法中,您应该使用this
而不是QuickDOM
:
var quickDOM = new QuickDOM();
var element = quickDOM.createElement("a");
var element = this.createElement("a");
在A
方法中,您使用的是函数而不是对象的实例。此代码:
var element = QuickDOM.createElement("a");
将使用您所在的实例:
var element = this.createElement("a");
但是,由于您对该对象的多个实例没有任何用途,因此您应该只创建一个对象,而不是使用构造函数:
var QuickDOM = {
createElement: function(tag)
{
var element;
if (tag === undefined || typeof tag != 'string')
{
element = document.createElement("div");
}
else
{
element = document.createElement(tag);
}
return element;
},
A: function(hyperlink, content)
{
var element = this.createElement("a");
element.setAttribute("href", hyperlink);
element.innerHTML = content;
return element;
}
}
现在,您只需使用对象来调用方法:
var link = QuickDOM.A("www.google.com", "Google");
在A
方法中,您使用的是函数而不是对象的实例。此代码:
var element = QuickDOM.createElement("a");
将使用您所在的实例:
var element = this.createElement("a");
但是,由于您对该对象的多个实例没有任何用途,因此您应该只创建一个对象,而不是使用构造函数:
var QuickDOM = {
createElement: function(tag)
{
var element;
if (tag === undefined || typeof tag != 'string')
{
element = document.createElement("div");
}
else
{
element = document.createElement(tag);
}
return element;
},
A: function(hyperlink, content)
{
var element = this.createElement("a");
element.setAttribute("href", hyperlink);
element.innerHTML = content;
return element;
}
}
现在,您只需使用对象来调用方法:
var link = QuickDOM.A("www.google.com", "Google");
在A
方法中,您使用的是函数而不是对象的实例。此代码:
var element = QuickDOM.createElement("a");
将使用您所在的实例:
var element = this.createElement("a");
但是,由于您对该对象的多个实例没有任何用途,因此您应该只创建一个对象,而不是使用构造函数:
var QuickDOM = {
createElement: function(tag)
{
var element;
if (tag === undefined || typeof tag != 'string')
{
element = document.createElement("div");
}
else
{
element = document.createElement(tag);
}
return element;
},
A: function(hyperlink, content)
{
var element = this.createElement("a");
element.setAttribute("href", hyperlink);
element.innerHTML = content;
return element;
}
}
现在,您只需使用对象来调用方法:
var link = QuickDOM.A("www.google.com", "Google");
在A
方法中,您使用的是函数而不是对象的实例。此代码:
var element = QuickDOM.createElement("a");
将使用您所在的实例:
var element = this.createElement("a");
但是,由于您对该对象的多个实例没有任何用途,因此您应该只创建一个对象,而不是使用构造函数:
var QuickDOM = {
createElement: function(tag)
{
var element;
if (tag === undefined || typeof tag != 'string')
{
element = document.createElement("div");
}
else
{
element = document.createElement(tag);
}
return element;
},
A: function(hyperlink, content)
{
var element = this.createElement("a");
element.setAttribute("href", hyperlink);
element.innerHTML = content;
return element;
}
}
现在,您只需使用对象来调用方法:
var link = QuickDOM.A("www.google.com", "Google");
哇!真不敢相信我错过了。谢谢-这是一个让人头脑空白的问题:哇!真不敢相信我错过了。谢谢-这是一个让人头脑空白的问题:哇!真不敢相信我错过了。谢谢-这是一个让人头脑空白的问题:哇!真不敢相信我错过了。谢谢-这是一个令人头脑空白的问题:DIntag===未定义| | typeof tag!='字符串“
第一个测试是冗余的<代码>标签类型!='字符串“
涵盖了它。您应该研究DOM API及其层次结构(Node->HtmleElement->TypeOfeElement,等等),因为您可能要复制它。哦,并不是所有的A元素都是链接,有些是锚,没有HREF,但是有一个名称字符串“第一个测试是冗余的<代码>标签类型!='字符串“涵盖了它。您应该研究DOM API及其层次结构(Node->HtmleElement->TypeOfeElement,等等),因为您可能要复制它。哦,并不是所有的A元素都是链接,有些是锚,没有HREF,但有一个名称