簡體   English   中英

原型顯示源代碼(Google Apps腳本/ Javascript)

[英]Prototype displays source code (Google Apps Script/Javascript)

GAS非常奇怪:如果我將原型添加到函數中,則會將原型的源代碼添加到該函數的每個實例中。

function createPerson() {
var me = new Person("Ben", "Jamin");
Logger.log(me);
};

function Person(firstname, lastname) {
  this.firstname = firstname;
  this.lastname = lastname;
};

Person.prototype.member = function() {
  return "yes"
};

這是它記錄到控制台的內容:

[15-04-13 11:47:12:351 CEST] {成員=函數(){返回“是”; },lastname = Jamin,firstname = Ben}

我究竟做錯了什么?

不是原型專家,但是您可以像這樣訪問對象:

Logger.log("%s %s is a member? %s",me.firstname,me.lastname,me.member());

請看以下內容:

function createPerson() {
  var me = new Person("Ben", "Jamin", false);
  var you = new Person("Bint", "Jamin", true);
  Logger.log("%s %s is a member? %s",me.firstname,me.lastname,me.isMember());
  Logger.log("%s %s is a member? %s",you.firstname,you.lastname,you.isMember());
};

function Person(firstname, lastname, member) {
  this.firstname = firstname;
  this.lastname = lastname;
  this.member = member;
};

Person.prototype.isMember = function() {
  return this.member;
};

創建人員時,isMember IS附加到新對象。 它繼承了對象引用“ this”。 您仍然需要訪問它作為評估代碼的功能。 有人可能會糾正我,但這不是應用腳本誇克,而是javascript的工作方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM