質問

Google Apps Script Engineに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を使用する必要はありません。それを含めると、他のエラーがスローされます。

何が起こっているのでしょうか?

ありがとう

役に立ちましたか?

解決

まあ、はい、変数 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;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top