Javascript对象属性的引用错误

时间:2010-04-18 12:55:17

标签: javascript google-apps-script

我在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,当我包含它时,它会抛出其他错误。

可能会发生什么?

由于

2 个答案:

答案 0 :(得分:4)

嗯,是的,在您发布的代码段中,变量uName 未定义。无论是dQuery还是execQuery,还是dFeilds(拼写!)。它们是否来自您未向我们展示过的其他代码?

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

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

this.qUrl = "http://api.bfbcs.com/api/pc?players="+encodeURIComponent(this.uName)+"&fields="+encodeURIComponent(this.dField);

答案 1 :(得分: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;