سؤال

لقد قمت ببناء كائن في JavaScript على محرك Google Apps Script وفي كل مرة أقوم بتشغيل البرنامج النصي الخاص بي ، أحصل على خطأ مرجعي يقول 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-encode. على سبيل المثال:

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