时间工具day.js的使用
发布时间:2025-05-19 21:42:03 发布人:远客网络
一、时间工具day.js的使用
dayjs是一个轻量级的JavaScript库,专门用于处理时间和日期。
-不可变:所有API操作都会返回一个新的Dayjs对象,这有助于避免bug的产生,节省调试时间。
-兼容性:Day.js可在浏览器和Node.js中运行。文档中的所有代码在这两种环境中都可以正常运行,所有单元测试也都在这两个环境中完成。
-国际化:Day.js对国际化支持良好。但除非手动加载,多国语言默认不会被打包到工程中。
-直接运行dayjs(),可以得到包含当前时间和日期的Dayjs对象。
-可以解析传入的标准ISO 8601时间字符串、JavaScript Date对象和Unix时间戳。
- Dayjs对象是不可变的,如果需要获取一个对象的拷贝,请执行.clone()。
-向dayjs()传入一个Dayjs对象也能实现同样的效果。
-可以使用.isValid()检查当前Dayjs对象是否是一个有效的时间。
-获取或设置年份、月份、日期、星期、小时、分钟、秒、毫秒等。
-增加或减少时间,并返回一个新的Dayjs对象。
-返回当前时间的开头或末尾时间的Dayjs对象。
-获取两个Dayjs对象的时间差,默认为毫秒。
-当序列化Dayjs对象时,会返回ISO8601格式的字符串。
-检查一个Dayjs对象是否在另一个Dayjs对象时间之前、相同或之后。
二、javascript中eval的用法
eval()函数可计算某个字符串,并执行其中的的 JavaScript代码。
通过计算 string得到的值(如果有的话)。
该方法只接受原始字符串作为参数,如果 string参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval()函数传递 String对象来作为参数。
如果试图覆盖 eval属性或把 eval()方法赋予另一个属性,并通过该属性调用它,则 ECMAScript实现允许抛出一个 EvalError异常。
如果参数中没有合法的表达式和语句,则抛出 SyntaxError异常。
如果非法调用 eval(),则抛出 EvalError异常。
如果传递给 eval()的 Javascript代码生成了一个异常,eval()将把该异常传递给调用者。
直接调用时,eval函数相关的执行环境属性ThisBinding,LexicalEnvironment,VariableEnvironment的值如下:
a) ThisBinding是调用eval函数时,调用方执行环境的ThisBinding
b) LexicalEnvironment是调用eval函数时,调用方执行环境的LexicalEnvironment
c) VariableEnvironemnt是调用eval函数时,调用方执行环境的VariableEnvironment
所谓间接调用,即将eval赋值给另一个变量后在调用
在严格模式下,eval的LexicalEnvironment,VariableEnvironment指向属于eval自己的Lexcial Environment,而不是调用方的Lexical Environment,但是ThisBinding还是调用方的ThisBinding。
同时,在严格模式下如果eval直接调用,那么eval的Lexical Environment的outer指针指向调用方的Lexical Environment,否则,如果是间接调用,那么eval的Lexical Environment的outer指针指向全局环境的Lexical Environment。
参考资料来源:百度百科--eval()