我有一个函数定义在我的JavaScript有两个属性:size
和url
:
function IconInfo() {
this.size = size;
this.url = url;
}
在另一个函数中,我创建了一个新的IconInfo
实例,并以这种方式设置属性:
function SomeFunction() {
var icon = new IconInfo();
icon.size = 64;
icon.url = "http://somesite.com/image1.png";
}
有没有一种方法可以像这样创建一个实例:
var icon = new IconInfo({
size : 64,
url : "http://somesite.com/image1.png"
});
我更喜欢那个符号,它看起来更简洁,更容易阅读。
=========================== ================================
根据Tim的回答按以下方式做:
var icon = {
size : 64,
url : "http://somesite.com/image1.png"
};
我有以下问题。
假设我有两个函数,它们具有完全相同的属性和构造函数参数:
function Func1(x) {
this.x = x;
}
function Func2(x) {
this.x = x;
}
我有一个容器,可以保存两种类型:
function Container() {
this.f = null;
}
如果我使用该方法添加一个函数,它实际将是什么类型?
...
var container = new Container();
container.x = new f { // is f Func1 or Func2?
x: 10;
}
有很多选项,但保持简单…你可以这样做:
var icon = {
size : 64,
url : "http://somesite.com/image1.png"
};
你不需要声明一个"类型",但是你可以…像这样:
function IconInfo(size, url)
this.size = size;
this.url = url;
);
var icon = new IconInfo(2, "www.google.com");
你可以把它写得更简洁。首先,您忘记在IconInfo
中设置变量;应该是这样:
function IconInfo(size, url) {
this.size = size;
this.url = url;
}
要在其他函数中创建新的IconInfo
,您只需像这样调用它:
function SomeFunction() {
var icon = new IconInfo(64, "http://somesite.com/image1.png");
}