我实现了另一个对象,比如js内置的Date
对象。如何用我的对象替换Date
?示例(必须使用MyDate()
而不是Date
):
var date= new Date();
(因为我有很多使用该对象的js文件,并且我需要基于另一个日期标准的obj。)
替换内置的Date
对象是个坏主意。请参阅本文:https://www.nczonline.net/blog/2010/03/02/maintainable-javascript-dont-modify-objects-you-down-own/
如果你真的想这样做,你可以用和其他对象一样的方法:
Date = MyDate;
try:
window.Date = 4; // or something else
但正如@Gothdo所说,这是一个坏主意,如果在某个地方使用Date对象,可能会破坏整个应用程序。。。
假设您的代码运行在浏览器环境中(不同于节点和其他环境):
每个全局变量都只是一个窗口属性,因为主作用域是窗口作用域。。。所以,当你输入var now = new Date();
时,实际上,你输入的是var now = new window.Date();
,它只是一个缩写;
因此,如果您想更改Date
对象,您可以同时执行以下操作:
window.Date = 4
Date = 4
你自己试试。唯一的区别在于如何按照javascript作用域链解析变量。