一. Global 工具
Global(全局)工具是 ECMAScript 中一个特殊的工具,由于这个工具是不存在的。在ECMAScript 中不属于任何其他工具的属性和方法,都属于它的属性和方法。以是,事实上 ,并不存在全局变量和全局函数;所有在全局浸染域定义的变量和函数,都是 Global 工具的属性和方法。
PS:由于 ECMAScript 没有定义怎么调用 Global 工具,以是,Global.属性或者 Global.方法()都是无效的。(Web 浏览器将 Global 作为 window 工具的一部分加以实现)
Global 工具有一些内置的属性和方法:
1.URI 编码方法
URI 编码可以对链接进行编码,以便发送给浏览器。它们采取分外的 UTF-8 编码更换所有无效字符,从而让浏览器能够接管和理解。
encodeURI()不会对本身属于 URI 的分外字符进行编码,例如冒号、正斜杠、问号和#号;而 encodeURIComponent()则会对它创造的任何非标准字符进行编码
把稳:URI中的是I不是L
var str = '?:/\\大圣monkeyking';
alert(encodeURI(str));
alert(encodeURIComponent(str));
利用了 URI 编码过后,还可以进行解码,通过 decodeURI()和 decodeURIComponent()来进行解码
var str = '?:/\\大圣monkeyking';
var e1 = encodeURI(str);
alert(decodeURIComponent(e1));
2.eval()方法
eval()方法紧张担当一个字符串解析器的浸染,他只接管一个参数,而这个参数便是要实行的 JavaScript 代码的字符串。php中也有eval方法,用法相似。
eval('var box = 100'); //解析了字符串代码
alert(box);
eval('alert(100)'); //同上
eval('function box() {return 123}'); //函数也可以
alert(box());
eval()方法的功能非常强大,但也非常危险。因此利用的时候必须极为谨慎。特殊是在用户输入数据的情形下,非常有可能导致程序的安全性,比如代码注入等等。一样平常新手不建议利用。
3.Global 工具属性
Global 工具包含了一些属性:undefined、NaN、Object、Array、Function 等等。
alert(Array); //返回布局函数
4.window 工具
之前已经解释, Global 没有办法直接访问, 而 Web 浏览器可以利用 window 工具来实现一全局访问。
alert(window.Array); //返回布局函数
二. Math 工具
ECMAScript 还为保存数学公式和信息供应了一个工具,即 Math 工具。与我们在JavaScript 直接编写打算功能比较,Math 工具供应的打算功能实行起来要快得多。
1.Math 工具的属性
Math 工具包含的属性大都是数学打算中可能会用到的一些分外值。
Math.E 自然对数的底数,即常量 e 的值
Math.LN10 10 的自然对数
Math.LN2 2 的自然对数
Math.LOG2E 以 2 为底 e 的对数
Math.LOG10E 以 10 为底 e 的对数
Math.PI ∏的值
Math.SQRT1_2 1/2 的平方根
Math.SQRT2 2 的平方根
2.min()和 max()方法
Math.min()用于确定一组数值中的最小值。Math.max()用于确定一组数值中的最大值。
3.舍入方法
Math.ceil()实行向上舍入,即它总是将数值向上舍入为最靠近的整数;
Math.floor()实行向下舍入,即它总是将数值向下舍入为最靠近的整数;
Math.round()实行标准舍入,即它总是将数值四舍五入为最靠近的整数;
alert(Math.ceil(25.9)); //26
alert(Math.ceil(25.5)); //26
alert(Math.ceil(25.1)); //26
alert(Math.floor(25.9)); //25
alert(Math.floor(25.5)); //25
alert(Math.floor(25.1)); //25
alert(Math.round(25.9)); //26
alert(Math.round(25.5)); //26
alert(Math.round(25.1)); //25
4.random()方法
Math.random()方法返回介于 0 到 1 之间一个随机数,不包括 0 和 1。
//返回1-10之间的随机整数,包括1和10
alert(Math.floor(Math.random()10 + 1));
//封装成函数
function getRandomNum(min,max) {
return Math.floor(Math.random() (max-min+1) + min);
}
//返回4,10之间的随机整数
alert(getRandomNum(4,10));
5.其他方法
Math.abs(num) 返回 num 的绝对值
Math.exp(num) 返回 Math.E 的 num 次幂
Math.log(num) 返回 num 的自然对数
Math.pow(num,power) 返回 num 的 power 次幂
Math.sqrt(num) 返回 num 的平方根
Math.acos(x) 返回 x 的反余弦值
Math.asin(x) 返回 x 的反正弦值
Math.atan(x) 返回 x 的反正切值
Math.atan2(y,x) 返回 y/x 的反正切值
Math.cos(x) 返回 x 的余弦值
Math.sin(x) 返回 x 的正弦值
Math.tan(x) 返回 x 的正切值