gpt4 book ai didi

javascript - Angular.js – 在哪里扩展 JavaScript 日期?

转载 作者:行者123 更新时间:2023-11-30 12:46:50 24 4
gpt4 key购买 nike

我想扩展 JavaScript 的基本 Date 对象,使其具有更多功能,如下所示:

Date.prototype.getWeek = function() {
var date = new Date(this.getTime());
date.setHours(0, 0, 0, 0);
// Thursday in current week decides the year.
date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);
// January 4 is always in week 1.
var week1 = new Date(date.getFullYear(), 0, 4);
// Adjust to Thursday in week 1 and count number of weeks from date to week1.
return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7);
};

目前,我将此逻辑放入一个名为 objectExtenders.js 的文件中,该文件在 index.html 中链接如下:

<script src="scripts/misc/dateExtenders.js"></script>

将此逻辑放入服务中似乎并不合适,因为它修改了全局 Date 对象。因此,我想将这样的服务注入(inject)特定 Controller 是没有意义的,因为它无论如何都会应用于所有 Controller 。

有更好的方法吗?

最佳答案

您可以改为创建一个名为 DateUtils 的服务,这样您就可以将其注入(inject)到您的 Controller 中,并且该服务可以具有处理日期的功能。

因此,您将调用 DateUtils.getWeek(myDate) 而不是执行 myDate.getWeek()

关于javascript - Angular.js – 在哪里扩展 JavaScript 日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22269158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com