我在 Javascript 中有一个名为 Booking 的自定义类:
function Booking(technicianID, startTime, start, street, zipcode, jobtypeID) {
this.technicianID = technicianID;
this.startTime = startTime;
this.start = start;
this.street = street;
this.zipcode = zipcode;
this.jobtypeID = jobtypeID;
}
我想使用这个类的一个对象作为函数的输入。
function bookTime(inputBooking) {
var tmpBooking = inputBooking;
alert("You chose: " + tmpBooking.start + ". Tech: " + tmpBooking.technicianID);
}
但由于某种原因,我从警报中得到的只是变量“未定义”。我猜这是因为它没有将 inputBooking 视为 Booking 对象,这意味着它没有变量 start 和 techn...
我读到有一个可以使用的 Object.create 函数,但我无法让它工作。
tmpBooking = Object.create(Booking, inputBooking);
关于如何解决这个问题的任何想法?
编辑:
如果我直接从 javascript 发送 inputBooking 对象,它会按预期工作。
var tmpBooking = new Booking(tmpTechID, tmpStartTime, tmpStart, tmpStreet, tmpZipcode, tmpJobtypeID);
bookTime(tmpBooking);
//Works
但问题是我想将一个临时对象发送到 HTML 并生成一个将调用 bookTime 函数的按钮:
var tmpBooking = new Booking(tmpTechID, tmpStartTime, tmpStart, tmpStreet, tmpZipcode, tmpJobtypeID);
resultsHTML += "<a href=\"#\" onclick=\"bookTime('" + tmpBooking + "')\">Book!</a>";
//Doesn't work
当我用调试器运行它时,它说 inputBooking 的类型是 [object Object] 并且“无法评估儿童”。结果是 start 和 TechnicalID 变量未定义。