由ECMAScript实现提供的,不依赖宿主环境的对象,这些对象在ECMAScript程序执行之前就已经存在了。比如: Object、Array、String,还有两个单体内置对象:Global和Math。
Global对象
1、 encodeURI():主要用于整个URI,而encodeURIComponent()主要用于URI中的某一段进行编码。两者主要区别在于:encodeURI()方法不会对本身属于URI的特殊字符进行编码,比如:冒号、正斜杠、问号和井号;而encodeURIComponent则会对它发现的任何非标准字符进行编码。
1 | var s = 'https://www.zhihu.com/topic#Web 开发'; |
与encodeURI()和encodeURICompoent()方法对应的,有decodeURI()和decodeURIComponent()方法。decodeURI()方法只能对使用encodeURI()方法替换的字符进行解码。同样,decodeURIComponent()方法能够解码encodeURIComponent()方法编码的所有字符,即他可以解码任何特殊字符。
1 | var uri = 'https%3A%2F%2Fwww.zhihu.com%2Ftopic%23Web%20%E5%BC%80%E5%8F%91'; |
2、eval()方法
eval()方法,大概是ECMAScript语言中最强大的一个方法。通过eval()执行的代码被认为是包含该次调用的执行环境的一部分。因此被执行的代码具有与该环境相同的作用域链。因此eval()方法可以调用包含在环境中的变量。
严格模式下,在外部访问不到eval()中创建的任何变量或函数。
3、 Global对象的属性
4、 window对象
在web中,全局对象作为window的一部分加以实现。因此全局作用域中所有声明的属性和方法,都成了window对象的属性。
另一种取得Global对象的方法:
1 | var global = function(){ |
Math对象
1、 Math对象的属性
Math.E/Math.LN10/Math.PI等。
2、 min()和max()方法
1 | var max = Math.max(1, 3, 6, 7); |
要获得数组中的最大/最小值可以使用apply()方法
1 | var vaules = [1, 3, 4, 5, 6]; |
3、 舍入方法
Math.ceil(): 上舍入,即数值向上舍入为最接近的整数。
Math.floor(): 下舍入
Math.round(): 执行标准输入
4、 random()方法: 返回大于0小于1的一个随机数
1 | //返回一个1到10之间的数值 |
5、 其他方法
Math.abs(num)/Math.exp(num)/Math.log(num)/Math.pow(num, power)等等