Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建新的日期对象或使用javascript Date()的setter方法_Javascript_Date - Fatal编程技术网

创建新的日期对象或使用javascript Date()的setter方法

创建新的日期对象或使用javascript Date()的setter方法,javascript,date,Javascript,Date,如果我打算使用Date()生成日期并在脚本中使用其方法,我应该创建一个Date()对象并重复使用它,还是每次只创建一个新实例 这样做是否更高效\更快: var1 = new Date(2014, 5, 3) var2 = new Date(2013, 2, 30) var3 = new Date(2015, 10, 2) 或者这个: myDate = new Date() myDate.setDate(3) myDate.setMonth(5) myDate.setYear(2014) va

如果我打算使用Date()生成日期并在脚本中使用其方法,我应该创建一个Date()对象并重复使用它,还是每次只创建一个新实例

这样做是否更高效\更快:

var1 = new Date(2014, 5, 3)
var2 = new Date(2013, 2, 30)
var3 = new Date(2015, 10, 2)
或者这个:

myDate = new Date()

myDate.setDate(3)
myDate.setMonth(5)
myDate.setYear(2014)
var1 = myDate

myDate.setDate(30)
myDate.setMonth(2)
myDate.setYear(2013)
var2 = myDate

myDate.setDate(2)
myDate.setMonth(10)
myDate.setYear(2015)
var3 = myDate
编辑:我的问题不是很清楚,让我试着解释一下:

我只使用Date()对象来生成方法和日期,这意味着我并不需要一堆Date()对象,我只需要一个对象来执行一次性操作,比如生成某个日期并调用一个方法,比如toJSON()或其他方法。在我生成日期并调用方法之后,我不需要一个持久对象,因为我不会对它做任何事情。像这样重用一个Date()对象会消耗更少的资源,还是会更慢

另一编辑: 我在想我也可以把它放在一个函数中,所以我会这样做:

myDate = new Date();
setDate = function(dateObj,day,month,year) {
    dateObj.setDate(dat);
    dateObj.setMonth(month);
    dateObj.setYear(year);
    return myDate;
}

var1 = setDate(myDate,12,10,2014);

这样做有什么价值吗?

你的例子是两件不同的事情。第一个示例创建三个单独的日期对象,它们可以有三个不同的日期


第二个示例创建一个日期对象,var1、var2和var3指向该对象。当您更改日期对象时,var1、var2和var3都将看到该更改。

您的示例是两个不同的东西。第一个示例创建三个单独的日期对象,它们可以有三个不同的日期


第二个示例创建一个日期对象,var1、var2和var3指向该对象。当您更改日期对象时,var1、var2和var3都将看到该更改。

您的示例是两个不同的东西。第一个示例创建三个单独的日期对象,它们可以有三个不同的日期


第二个示例创建一个日期对象,var1、var2和var3指向该对象。当您更改日期对象时,var1、var2和var3都将看到该更改。

您的示例是两个不同的东西。第一个示例创建三个单独的日期对象,它们可以有三个不同的日期


第二个示例创建一个日期对象,var1、var2和var3指向该对象。当您更改日期对象时,var1、var2和var3都将看到该更改。

新日期是一个构造函数。它是用javascript编写的。在面向对象编程中,通常不复制代码。因此,如果您有一个构造函数new Date()——JS中的构造函数和setters,那么执行new Date(2013,2,30)很可能相当于:

var myDate = new Date();
myDate.setDate(30);
myDate.setMonth(2);
myDate.setYear(2013);
根据这一点,仅分配一项就要花费您的成本,而您提出的第二种方式更快。
但是(!!!)这两种方法给出的结果并不相同。在第一个步骤中,您将获得三个不同的对象。在后者中,您只能得到一个。new Date是一个构造函数。它是用javascript编写的。在面向对象编程中,通常不复制代码。因此,如果您有一个构造函数new Date()——JS中的构造函数和setters,那么执行new Date(2013,2,30)很可能相当于:

var myDate = new Date();
myDate.setDate(30);
myDate.setMonth(2);
myDate.setYear(2013);
根据这一点,仅分配一项就要花费您的成本,而您提出的第二种方式更快。
但是(!!!)这两种方法给出的结果并不相同。在第一个步骤中,您将获得三个不同的对象。在后者中,您只能得到一个。new Date是一个构造函数。它是用javascript编写的。在面向对象编程中,通常不复制代码。因此,如果您有一个构造函数new Date()——JS中的构造函数和setters,那么执行new Date(2013,2,30)很可能相当于:

var myDate = new Date();
myDate.setDate(30);
myDate.setMonth(2);
myDate.setYear(2013);
根据这一点,仅分配一项就要花费您的成本,而您提出的第二种方式更快。
但是(!!!)这两种方法给出的结果并不相同。在第一个步骤中,您将获得三个不同的对象。在后者中,您只能得到一个。new Date是一个构造函数。它是用javascript编写的。在面向对象编程中,通常不复制代码。因此,如果您有一个构造函数new Date()——JS中的构造函数和setters,那么执行new Date(2013,2,30)很可能相当于:

var myDate = new Date();
myDate.setDate(30);
myDate.setMonth(2);
myDate.setYear(2013);
根据这一点,仅分配一项就要花费您的成本,而您提出的第二种方式更快。

但是(!!!)这两种方法给出的结果并不相同。在第一个步骤中,您将获得三个不同的对象。在第二个脚本的末尾,
var
var2
var3
将指向相同的日期对象(和相同的日期),因为您正在调用修改当前日期的方法。您希望这3个变量具有正确的特定日期吗?如果是这样的话(看起来是这样的),你需要使用你的顶级脚本。显然,第一个脚本更简单,也更容易使用。有没有一个方法可以在不必实例化新对象或调用多个方法的情况下重新分配date()对象的完整日期?@user1028270你为什么在意?您是否担心速度或存储?如果需要单独的、不同的日期(对象),请创建它们。我认为您的第一个脚本最短,可以调用3个函数或9个函数?在第二个脚本的末尾,
var
var2
、和
var3
将指向相同的日期对象(和相同的日期),因为您调用的是修改日期的方法。您希望这3个变量具有正确的特定日期吗?如果是这样的话(看起来是这样的),你需要使用你的顶级脚本。显然,第一个脚本更简单,也更容易使用。有没有一个方法可以在不必实例化新对象或调用多个方法的情况下重新分配date()对象的完整日期?@user1028270你为什么在意?您是否担心速度或存储?如果需要单独的、不同的日期(对象),请创建它们。我认为您的第一个脚本最短,可以调用3个函数或9个函数?在第二个脚本的末尾,
var
var2
,和
var3
将指向相同的日期对象(和相同的日期),因为您正在调用修改日期的方法