我已经建立了一个对象的Javascript在谷歌的Apps脚本引擎每次我跑我的剧本时,我得到一个参考错误说没有定义UNAME。

下面是relivant代码:

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,当我不包括,它抛出其他错误。

可能是什么回事?

由于

有帮助吗?

解决方案

嗯,是的,可变uName不是的定义,在片断您发布。无论是dQueryexecQuery,或dFeilds(拼写!)。是他们从其他代码来你还没有告诉我们?

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

此外,你需要URL编码参数。例如:

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

其他提示

我不知道你正在尝试做的,但我没有看到你的函数接收的参数:

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;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top