我在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,当我包含它时,它会抛出其他错误。
可能会发生什么?
由于
答案 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;