Don*_*ues 0 javascript function-pointers javascript-objects
为什么我的代码只适用于object2?
function object1() {
this.URL = "yahoo.com";
this.getURL = function() { return this.URL; };
}
var object2 = new Object();
object2.URL = "gmail.com";
object2.getURL = function() { return this.URL; };
var sources = new Array();
sources[0] = object1;
sources[1] = object2;
i=0;
var source1 = sources[0];
console.log(source1.getURL());
var source2 = sources[1];
console.log(source2.getURL());
Run Code Online (Sandbox Code Playgroud)
如果我尝试从object1中获取URL,我会收到此错误:TypeError:source1.getURL不是函数
我正在尝试处理多个HTTP连接,它使用不同的URL,每个都返回一个我必须解析的不同的XML.我想通过创建一个对象数组并为每个对象执行一个操作,获取URL并连接到它.
你需要这样做
var source1 = new sources[0]();
Run Code Online (Sandbox Code Playgroud)
为了实例化一个新的object1.
否则source1指向没有getURL这样的成员的函数对象
编辑:你也可以这样做,sources[0] = new Object1();但我认为这对你想要的设计不适用(数组中的新对象)