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] {member = function(){ 返回"是&#34 ;; } ,lastname = Jamin,firstname = Ben}
我做错了什么?
答案 0 :(得分:0)
不是原型机,但您可以访问以下对象:
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;
};
创建Person时isMember IS附加到新对象。它继承了对象引用" this"。您仍然需要将其作为评估代码的函数进行访问。有人可以纠正我,但这不是一个Apps脚本夸克,它是javascript的工作方式。