最详细的JavaScript高级教程(十四)单体内置对象
程序员文章站
2024-01-15 12:46:58
...
定义
由语言本身实现,不依赖宿主对象,不用初始化即可使用的对象,我们可以理解在语言所有初始化开始之前就初始化完成的对象。一共由下面五个:
- Object
- Array
- String
- Global
- Math
Global的方法
全局对象,可以认为是终极对象,所有不属于其他对象的属性和函数都是全局对象的函数。它有下面这些方法:
- isNaN()
- isFinite()
- parseInt()
- parseFloat()
- URI编码方法,用于编码URI中例如空格这种不能包含的字符为编码值
// encodeURI 智能对uri中不合法的字符进行编码,不会编码本身属于URI的字符 // encodeURIComponent 对所有特殊字符进行编码 // 基于encodeURIComponent对于所有字符进行编码的特性,我们通常只对于一段字符串进行编码而不是对这个uri使用这个方法 var uri = 'http://www.baidu.com/hi lorry'; alert(encodeURI(uri)); //http://www.baidu.com/hi%20lorry alert(encodeURIComponent(uri)); //http%3A%2F%2Fwww.baidu.com%2Fhi%20lorry
- URI解码方法
// 注意下面的两个方法都应该和编码方法成对使用 // 如果混用,则不能得到正确的编解码值 decodeURI() //encodeURI方法的逆方法 decodeComponentURI() //encodeURIComponent的逆方法
- 编译器方法 eval()
// 使用eval方法可以将参数中的代码直接放到环境中运行 // 这个方法十分的危险,严格模式虽然允许这个方法,但是不允许eval中的环境与外部环境交换变量值 // 即外部访问不到eval中定义的变量或者函数 eval('alert("hi")'); //弹框显示hi
Global的属性
下面的图列出了Global的所有属性
Global的获取
在ES的标准里没有规定Global对象应该如何获取,但是在实际的使用中我们还是要获取这个对象。在浏览器中,window对象就是Global对象的扩展,其中实现了Global对象,任何定义的函数,定义的属性都是window对象的属性和方法,可以通过window对象获取
var s = 'hi';
alert(window.s); // hi
另一种获取Global对象的方法是使用this,让一个函数返回this就是返回了全局对象
var global = function() {
return this;
};
var s = 'hello';
alert(global().s); // hello
Math 对象
Math对象为保存数学公式和信息提供了公共的位置,我们在这里只学习一些基本的应用:
- 属性
- min和max(用于在if中确定一组数据的最大最小值)
// max的使用 alert(Math.max(1, 5, 3)); // 5 // 这里我们看一个技巧 // 之前的使用是吧所有的值作为参数传入方法中 // 当我们已经有一个存着所有数字的数组的时候要求最大值 // 使用下面的方法 var arr = [1, 5, 3]; alert(Math.max.apply(Math, arr));
- 舍入方法
- Math.ceil() 向上舍入
- Math.floor() 向下舍入
- Math.round() 四舍五入
-
随机数方法
使用Math.random()方法可以获得0-1之间的一个随机数,通常我们获取随机数使用下面的方法
// 注意下面的第一个可能的值就是起始值 值 = Math.floor(Math.random() * 可以值的总数 + 第一个可能的值) // 比如我们要500-2000之间的随机数 // 值的总数1500 第一个可能的值是500 var num = Math.floor(Math.random() * 1500 + 500); alert(num);
我们来写一个标准的获取两个值之间随机数的方法
function selectFrom(lowerValue, upperValue) { var choices = upperValue - lowerValue + 1; // 获取其中的可能值的个数 3-1=2 一共三个值 return Math.floor(Math.random() * choices + lowerValue); }
-
其他高级方法
上一篇: 函数exec