可能重复:
Javascript 对象中的构造函数
我正在尝试学习如何在 javascript 中创建类。我发现这对我来说很难理解。
现在,我想知道是否可以在 javascript 中创建一个构造函数,就像我们可以在 c# 或其他编程语言中那样。
我尝试了几件事:
方式1:
function SiteProfile(_url) {
this.url = "";
this.name = this.ExtractNameFromURL();
}
SiteProfile.prototype.ExtractNameFromURL = function () {
var firstDOT = this.url.indexOf(".");
var secondDOT = this.url.indexOf(".", firstDOT + 1);
var theName = "";
for (var i = firstDOT + 1; i < secondDOT; i++) {
theName += this.url[i];
}
return theName;
}
方式2:
function Site() {
this.url = "";
this.name = "";
this.Site = function (_url) {
this.url = _url;
this.name = this.ExtractNameFromURL();
}
this.ExtractNameFromURL = function () {
var firstDOT = this.url.indexOf(".");
var secondDOT = this.url.indexOf(".", firstDOT + 1);
var theName = "";
for (var i = firstDOT + 1; i < secondDOT; i++) {
theName += this.url[i];
}
return theName;
}
}
两个班级都应该使用一个 URL,并且只需从他那里获取名称,而不需要 www。或 .com
我想知道我是否可以设计一个类,我可以像这样创建一个实例:
var site = new SiteProfile("www.google.co.il");
document.write(site.name); // becuse, this do nothing
(对不起我的英语不好)