首页 > 自考资讯 > 高考百科

单例内置对象 Global和Math

小条 2024-07-05

添加一名作者

来源:https://juejin.cn/post/6927856964328226829

Singleton 内置对象:ECMAScript 实现提供的对象。它独立于主机环境,存在于ECMAScript 程序执行之初。也就是说,内置对象本身被实例化。常见的内置对象有Object、Array、String、Global 和Math。

Global

这是最特殊的对象,因为您的代码不会显式访问它。事实上,全局变量和函数都是Global的属性。 isNaN()、isFinite()、parseInt() 和parseFloat() 实际上是全局方法。

编码与解码

bf819f22d8e244498d8782b97d77dc7c~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720738415&x-signature=c6uFn5ZEx3S71kpfEyDSqKTXD3I%3Dlet url='https://www.wrox.com/illegal value.js#start'encodeURI(url) //https://www.wrox.com/illegal%20value.js#startencodeURIComponent(url) //https%3A% 2F%2Fwww.wrox.com%2Fillegal%20value.js%23start

eval()方法

这是一个完整的ECMAScript 解释器,它采用一个参数:要执行的ECMAScript 字符串。

eval('console.log('hello')') //hello 一般来说,eval()执行的代码属于调用所在的上下文,并且执行的代码与上下文具有相同的作用域链。

let msg='hello'eval('console.log(msg)') //helloeval('function SayHi(){console.log('hi')}')sayHi() //hieval('let msg=' hello')console.log(msg) //hello 在严格模式下,运行eval() 与创建新上下文相同。在这种情况下,您无法从外向内访问,但可以从内向外访问。

Global对象属性

67f41db4d4584c56a6f9044e0c3e7e6b~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720738415&x-signature=mzRzoP2MlFL4k8BwcRrtyZMqDuk%3D

window对象

Global不能直接访问,但浏览器使用window对象作为Glocal对象的代理。因此,在全局范围内声明的所有变量和函数都成为窗口的属性。

获取Global对象

如果执行函数时未显式指定this,则this 的值等于Global 对象。

let global=function(){ return this}();

Math

ECMAScript 提供了一个Math 对象作为存储公式、信息和计算的地方。

Math属性

这些属性主要用来存储数学中的一些特殊值。

e4cca0b6705145d1b0e516b20e7624fe~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720738415&x-signature=106OsTQznmiF%2Fispr1U8bIup7lk%3D

Math方法

1e7baac717dd401da9bb9032ad18583c~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720738415&x-signature=eAlqH%2FW6xzS6dCS%2Bp7K08fuCfJU%3D 获取最大值和最小值

Math.min(1,2,3,4,5) //1Math.max(1,2,3,4,5) //5//对于数组,扩展运算符let arr=[1, 2, 3 ,4,5]Math.max(.arr) //5 舍入

let num=1.5Math.ceil(num) //2Math.floor(num) //1Math.round(num) //2个随机数

Math.random() //0.932879007220689//取1~10Math.floor(Math.random()*10+1)//取2~9:*后跟总数,+后跟最小数Math.floor ( Math.random()*9+2)作者:sanhuamao

来源:https://juejin.cn/post/6927856964328226829

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢