JavaScript高级程序设计(第3版)学习笔记11 内建

内建对象就好比是JDK中的类库,开发者可以直接拿来使用,这极大的方便了常见的编程任务。这篇文章就来浏览一下主要的内建对象,当然,我们并不是第一次接触内建对象,前面已经接触到的就有Object、Function、Boolean、Number、String,对于已经介绍过的,这里再总结复习一下,没有介绍过的,根据相关性来对比的总结,RegExp对象及正则表达式在下一篇中再单独介绍。

1、内建全局单例对象

(1)内建全局单例对象:在整个执行环境中只有一个对象实例,这些对象没有内部属性[[Construct]]和[[Call]],因此不能使用new来创建,也不能作为函数来调用,而是直接使用对象名称来引用其属性和方法(对于全局对象,则可以直接使用属性和方法名)。内建全局单例对象有Global、Math、JSON。

(2)内建常量:主要是指内建全局单例对象的属性,这些属性的[[Writable]]、[[Configurable]]、[[Enumerable]]特性全部为false,因此不能修改属性值,不能删除属性,也不能在for-in循环中枚举。这些内建常量有:

对象   名称   常量值   说明   对象   名称   常量值   说明  
Global   NaN   NaN   表示不是数值   Math   E   ≈2.718   自然对数的底数 e  
Infinity   +∞   正无穷   LN10   ≈2.303   2 的自然对数  
undefined   undefined   未定义   LN2   ≈0.693   10的自然对数  
LOG2E   ≈1.443   e 的以2 为底的对数  
LOG10E   ≈0.434   e 的以10为底的对数  
PI   ≈3.142   圆周率,即圆周长与直径的比  
SQRT1_2   ≈0.707   2的平方根的倒数  
SQRT2   ≈1.414   2的平方根  

注:Global对象中的常量可以使用名称直接访问,Math对象中的常量需使用类似Math.PI的形式来访问。

(3)内建静态方法:

所属对象   类别   方法   说明  
Global   全局解析方法   eval(x)   解析Javascript字符串,eval中定义的变量不会提升,在严格模式下,外部不能访问eval内定义的变量  
字符串解析为Number   parseInt(string,radix)   将字符串解析为整数,可以传入一个进制,会忽略前导空格  
parseFloat(string)   将字符串解析为浮点数,会忽略前导的空格和前导0  
Number判断方法   isNaN(number)   判断是否为数字  
isFinite(number)   判断是否为有限数  
URI处理方法   encodeURI(uri)   对URI编码,用于整个URI,用特殊的UTF-8编码替换所有无效字符,不会对本身属于URI的特殊字符编码,如冒号,正斜杠,问号,井号等。  
decodeURI(ecodedURI)   对使用ecnodeURI()编码的字符串解码  
encodeURIComponent(uriComponent)   对URI编码,用于URI中的某一段,会对发现的任何非标准字符进行解码  
decodeURIComponent(encodedURIComponent)   对使用ecnodeURIComponent()编码的字符串解码  
内建对象构造器方法  

Object、Function、Array、String、Number、Boolean、Date、RegExp

Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError

  这里每一个构造函数都构成了一个内建的对象类型  
Math   三角函数   sin(x)、cos(x)、tan(x)   x的正弦、余弦、正切  
反三角函数   asin(x)、acos(x)、atan(x)、atan2(y,x)   x的烦正弦、反余弦、反正切、y/x的反正切  
舍入函数   ceil(x)、floor(x)、round(x)   向上舍入(大于该数的最小整数)、向下舍入(小于该数的最大整数)、四舍五入  
最值函数   max([value1[value2[,...]]])、min([value1[,value2[,...]]])   最大值、最小值  
随机函数   random()   返回介于0和1之间的随机数,不包括0和1.随机公式:随机值=Math.floor(Math.random() * 可能值的个数 + 初始值)  
其它常见数学函数   abs(x)、exp(x)、log(x)、pow(x,y)、sqrt(x)   绝对值、Math.E的x次幂、x的自然对数、x的y次幂、x的平方根  
JSON    解析   parse(text[,reviver])   把JSON字符串解析外为Javascript值  
序列化   stringify(value[,replacer[,space]])   把Javascript对象序列号为JSON字符串,默认情况下不包括空格和缩进,所有函数、原型成员以及值为undefined的属性会被忽略  

说明:

(1)全局对象中还有escape()/unescape()方法,由于这两个方法只能正确编码ASCII字符已经被废弃,而使用上表中的encodeURI()等方法来替换。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wddsdw.html