日期:2014-05-16  浏览次数:20355 次

javascript 对象 本地对象、内置对象和宿主对象

javascript 对象 本地对象、内置对象和宿主对象
2011年05月04日
  在javascript中,对象由特性(attribute),特性可以是原始值,也可以使引用值。如果特性存放的是函数,它将被看作对象的方法(method),否则该特性被看作属性(property)。
  对象是用关键字new后跟实例化的类的名字创建的例如:
  var o=new Object();
  也可以使用
  var o=new Object;
  var o={};
  对象废除
  把对象的引用都设置为null,可以强制性的废除对象。
  var o=new Object();
  o=null;
  早绑定和晚绑定
  所谓绑定(binding),即把对象的接口与对象实例结合在一起的方法。
  早绑定(early binding)是指在实例化对象之前定义它的特性和方法,这样编译器或解释程序能提前转换及其代码。javascript不是强类型语言,不支持早绑定。
  晚绑定(late binding)指的是编译器或解释程序在运行之前不知道对象的类型。使用晚绑定,无需检查对象的类型,只需要检查对象是否支持特性和方法即可。javascript所有变量都是使用晚绑定方法。
   本地对象
  独立于宿主环境的ECMAScript实现提供的对象。它们包括:
  Object          Function          Array           String
  Boolean         Number            Date            RegExp
  Error           EvalError         RangeError      ReferenceError
  SyntaxErro      TypeError         URIError
   内置对象 Global和Math
  由ECMASscript实现提供的、独立于宿主环境的所有对象。
  Global对象是ECMAscript好、中最特别的对象,因为它根本不存在。说它不存在是因为在ECMAscript中,不存在独立的函数,所有函数都必须是某个对象的方法。例如isNam(),isFinite(),parseInt()和parseFloat()等,都是Global对象的方法。
  encodeURI()和encodeURIComponent()方法用于编码传递给浏览器的URI。这两个放的主要区别是encodeURI()不对URI中的特殊字符编码,例如冒号、斜杠、问号和英镑符号,而encodeURIComponent()则它发现的所有非标准字符进行编码。而对应有decodeURI()和decodeURIComponent()解码函数。这些URI方法encodeURI()、decodeURI()、encodeURIComponent()和decodeURIComponent()代替了BOM中的escape()和()方法。URI方法更可取,因为它们会对所有的Unicode符号编码,而BOM方法只能对ASCII符号正确编码。应尽量避免使用escape()和()方法。
  Global对象的属性列表:  属性  说明 undefined Undefined类型的字面量 NaN  非数的专用数值 Infinity  无穷大的专用数值 Object Object的构造函数 Array Array的构造函数 Function Function的构造函数 Boolean Boolean的构造函数 String String的构造函数 Number Number的构造函数 Date Date的构造函数 RegExp RegExp的构造函数 Error Error的构造函数 EvalError EvalError的构造函数 RangeError RangeError的构造函数 ReferenceError ReferenceError的构造函数 SyntaxError SyntaxError的构造构造函数 TypeError TypeError的构造函数 URIError URIError的构造函数 Math对象 Math对象有几个对象,主要是数学专用值:  属性  说明 E  值e,自然对数的底 LE10 10的自然对数 LN2 2的自然对数 LOG2E  以2为底E的对数 LOG10E  以10为底E的对数 PI  值∏ SQRT1_2 1/2的平方根 SQRT2 2的平方根 min()和max()方法
  用于判断一组数中的最小和最大值,这两个方法接受任意个参数,返回比较后的最小 最大值。
  var iMax=Math.max(2,0,6,4);    //iMax:6
  var iMin=Math.min(2,0,6,4);    //iMin:0
  abs()方法返回数字的绝对值。
  ceil()表示向上舍入
  floor()表示向下舍入
  round()标准的四舍五入
  Math.ceil(20.5)   //returns 21
  Math.floor(20.5)   //returns 20
  Math.round(20.5)   //returns 21
  pow()方法用于把指定的数字升到指定的幂。
  sqrt()方法用于返回指定数字的平方根
  exp()方法用于把Math.E升到指定的幂
  log()方法用于返回特定数字的自然对数
  三角函数  方法  说明 acos(x)  返回x的反余弦值 asin(x)  返回x的反正弦值 atan(x)  返回x的反正切值 atan2(y,x)  返回y/x的反余弦值 cos(x)  返回x的余弦值 sin(x)  返回x的正弦值 tan(x)  返回x的正切值 Math.random()方法,该方法返回一个0到1之间的随机数,不包括0和1。
   宿主对象
  
所有的非本地对象都是宿主对象即友ECMAscript实现的宿主环境提供的对象。所有BOM和DOM对象都是宿主对象。