为JavaScript对象的属性引用错误
-
27-09-2019 - |
题
我已经建立了一个对象的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
的不是的定义,在片断您发布。无论是dQuery
或execQuery
,或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;
不隶属于 StackOverflow