1

我在 Google Apps 脚本引擎上用 Javascript 构建了一个对象,每次运行我的脚本时,我都会收到一个参考错误,指出未定义 uName。

这是相关的代码:

function DataSet()
{
  this.uName = "";
  this.dField = "";
  this.qUrl = "http://api.bfbcs.com/api/pc?players="+uName+"&fields="+dFeilds;
  this.data = "";

  this.dQuery = dQuery;
  this.execQuery = execQuery;

根据我找到的所有来源,我不需要使用关键字 var,当我包含它时,它会引发其他错误。

会发生什么?

谢谢

4

2 回答 2

4

好吧,是的,在您发布的代码段uName 中没有定义变量。不是dQueryor execQuery, or dFeilds(拼写!)。它们是否来自您尚未向我们展示的其他代码?

有一个属性 this.uName,但对象属性与 JavaScript 中的变量完全不同。与 Java 不同,它们不共享名称空间。

此外,您需要对参数进行 URL 编码。例如。:

this.qUrl = "http://api.bfbcs.com/api/pc?players="+encodeURIComponent(this.uName)+"&fields="+encodeURIComponent(this.dField);
于 2010-04-18T13:01:26.297 回答
1

我不确定您要做什么,但我看不到您的函数接收这些参数:

function DataSet(uName,dFeilds,dQuery,execQuery)
{
  this.uName = "";
  this.dFeild = "";
  this.qUrl = "http://api.bfbcs.com/api/pc?players="+uName+"&fields="+dFeilds;
  this.data = "";

  this.dQuery = dQuery;
  this.execQuery = execQuery;
于 2010-04-18T13:03:22.953 回答