4

假设我们有以下处理Date对象的 js 函数:

targetDate并且referenceDate旨在成为Date对象。

function validateDate(targetDate, referenceDate) {
  if (targetDate < referenceDate) return referenceDate;
  else return targetDate;
}

现在假设我们希望返回的对象是一个新实例,而不是指向与输入参数相同的内存地址的指针。

为了做到这一点,我们需要用 替换return dateObjectInstancereturn new Date(dateObjectInstance)还是return已经实例化了一个新对象?

换句话说:对象是通过引用返回还是实例化了一个新实例?

4

1 回答 1

4

您最初的假设是正确的——不使用new,将返回对原始对象的引用。

而且,正如 PointedEars 指出的那样,没有“通过引用返回”这样的事情。

于 2013-06-10T08:59:07.567 回答