Javascript:是通过引用返回的对象还是实例化的新实例?

时间:2013-06-10 08:56:53

标签: javascript

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

targetDatereferenceDate旨在成为Date个对象。

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

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

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

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

1 个答案:

答案 0 :(得分:4)

您的原始假设是正确的 - 如果不使用new,则会返回对原始对象的引用。

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