12 内置对象

ECMA-262 对内置对象的定义是:“由 ECMAScript 实现提供的、不依赖于宿主环境的对象,这些对象在 ECMAScript 程序执行之前就已经存在了。”

前面我们已经介绍了大多数的内置对象,例如 Object、 Array 和 String。

ECMA-262 还定义了两个单体内置对象: Global 和 Math。

Global: Global(全局)对象可以说是 ECMAScript 中最特别的一个对象了,因为不管你从什么角度上看,这个对象都是不存在的。

换句话说,不属于任何其他对象的属性和方法,最终都是它的属性和方法。

1 encodeURI() 和 encodeURIComponent() 的区别是什么?

Global 对象的 encodeURI() 和 encodeURIComponent() 方法可以对 URI(Uniform Resource Identifiers,通用资源标识符)进行编码,以便发送给浏览器。

encodeURI() 不会对本身属于 URI 的特殊字符进行编码,例如冒号、正斜杠、问号和井字号;

encodeURIComponent()会对它发现的任何非标准字符进行编码。

比如:

所以,一般对整个 URI 使用 encodeURI(),而只对附加在现有 URI 后面的字符串使用 encodeURIComponent()。

2 Math对象

与我们在 JavaScript 直接编写的计算功能相比, Math 对象提供的计算功能执行起来要快得多。

求最值:

var max = Math.max(2, 5, 99, 98);
console.log(max);

舍入方法:

Math.ceil()执行向上舍入

Math.floor()执行向下舍入

Math.round()执行标准舍入

document.write(Math.ceil(25.1) + "<br>");
document.write(Math.floor(25.5) + "<br>");
document.write(Math.round(25.9) + "<br>");

随机方法:

Math.random()方法返回大于等于 0 小于 1 的一个随机数。

想要得到2到10,共9个值。

比如:随机取出下列数组中的一种颜色,并打印到屏幕上。

var colors = ["red", "green", "blue", "yellow", "black", "purple", "brown"];
var num = Math.floor(Math.random() * 7 + 0);
var color = colors[num];
document.write(color);
原文地址:https://www.cnblogs.com/lijy/p/6792062.html