Опорная ошибка для свойства объекта JavaScript
-
27-09-2019 - |
Вопрос
Я построил объект в JavaScript на двигателе скрипта Google Apps, и каждый раз, когда я запускаю свой скрипт, я получаю ссылку, заявив, что 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, а когда я включаю это, это выбрасывает другие ошибки.
Что может происходить?
Спасибо
Решение
Ну да, переменная 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;