Erro de referência para a propriedade de Objeto de Javascript
-
27-09-2019 - |
Pergunta
Eu tenho construído um objeto em Javascript no Google Apps Script engine e cada vez que eu executar o meu script eu recebo um erro de referência dizendo: uName não está definido.
Aqui é o relivant código:
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;
De acordo com todas as fontes que eu tenha encontrado, eu não deveria usar a palavra-chave var, e quando faço o que lança outros erros.
O que poderia estar acontecendo?
Obrigado
Solução
Bem, sim, a variável uName
não definidos, no trecho que você postou.Nem o dQuery
ou execQuery
, ou dFeilds
(ortografia!).Eles estão vindo de outro código que você ainda não nos mostrou?
Há um propriedade this.uName
, mas propriedades do objeto são uma coisa completamente diferente de variáveis em JavaScript.Ao contrário de Java, eles não compartilham um espaço de nome.
Além disso, você precisa URL-codificar parâmetros.ex.:
this.qUrl = "http://api.bfbcs.com/api/pc?players="+encodeURIComponent(this.uName)+"&fields="+encodeURIComponent(this.dField);
Outras dicas
Não tenho certeza do que você está tentando fazer, mas não vejo sua função recebendo esses parâmetros:
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;