使用指向javascript中函数的指针

Using pointers to functions in javascript

本文关键字:函数 指针 javascript      更新时间:2023-09-26

为什么我的代码只适用于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());

如果我试图从object1中获取URL,我会收到以下错误:类型错误:source1.getURL不是函数

我正在尝试处理多个HTTP连接,它们使用不同的URL,每个URL都返回不同的XML,我必须对其进行解析。我想通过创建一个对象数组来实现这一点,并为每个对象做一个,获取URL并连接到它。

您需要进行

var source1 = new sources[0]();

以便实例化新的对象1。

否则,source1指向没有getURL 这样的成员的函数对象

编辑:您也可以执行sources[0] = new Object1();,但我认为这与您要进行的设计(数组中的新对象)

不太匹配

因为object1是一个函数,所以必须创建object1的实例。

这将工作

var sources = new Array();
sources[0] = new object1();
sources[1] = object2;