Open wangbinze opened 3 years ago
引用值(或者对象)是某个特定引用类型的实例。
Date 类型将日期保存为自协调世界时(UTC,Universal Time Coordinated)时间 1970 年 1 月 1 日午夜(零时)至今所经过的毫秒数。
let now = new Date() // 当前时间 object
let now = Date() // 当前时间 string
Date 类型重写了 toLocaleString()、toString()和 valueOf()方法。
toLocaleString()方法返回与浏览器运行的本地环境一致的日期和时间。
Date().toLocaleString()
toString()方法通常返回带时区信息的日期和时间,而时间也是以 24 小时制(0~23)表示的。
valueOf()方法根本就不返回字符串,这个方法被重写后返回的是日期的毫秒表示。
new Date().valueOf() // 返回当前毫秒数
Date方法较多,具体的请参考 MDN
ECMAScript 通过 RegExp 类型支持正则表达式。
参考 MDN 后期会专门正对正则的使用来讲解。
ECMAScript 提供了 3 种特殊的引用类型:Boolean、Number 和 String。
new String('xxx')
new Number(11)
new Boolean(true)
不推荐显式创建原始值包装类型的实例,但它们对于操作原始值的功能是很重要的。每个原始值包装类型都有相应的一套方法来方便数据操作
内置对象:任何由 ECMAScript 实现提供、与宿主环境无关,并在 ECMAScript程序开始执行时就存在的对象。
已经实例化好了,可以直接使用。
Global 对象是 ECMAScript 中最特别的对象,因为代码不会显式地访问它。ECMA-262 规定 Global对象为一种兜底对象,它所针对的是不属于任何对象的属性和方法。事实上,不存在全局变量或全局函数这种东西。在全局作用域中定义的变量和函数都会变成 Global 对象的属性。
包括 isNaN()、isFinite()、parseInt()和 parseFloat()。
eval() 方法
这个方法就是一个完整的 ECMAScript 解释器,它接收一个参数,即一个要执行的 ECMAScript(JavaScript)字符串。
通过 eval()定义的任何变量和函数都不会被提升,这是因为在解析代码的时候,它们是被包含在一个字符串中的。它们只是在 eval()执行的时候才会被创建。
eval('console.log("hi")')
Global 对象属性
window 对象
虽然 ECMA-262 没有规定直接访问 Global 对象的方式,但浏览器将 window 对象实现为 Global对象的代理。因此,所有全局作用域中声明的变量和函数都变成了 window 的属性。
Math 对象上提供的计算要比直接在 JavaScript 实现的快得多,因为 Math 对象上的计算使用了 JavaScript 引擎中更高效的实现和处理器指令。
如果是为了加密而需要生成随机数(传给生成器的输入需要较高的不确定性),那么建议使用window.crypto.getRandomValues()。
JS中的基本引用类型有哪些,分别介绍一下