WEB开发网
开发学院网页设计JavaScript JavaScript面向对象的支持(上) 阅读

JavaScript面向对象的支持(上)

 2010-09-14 13:37:41 来源:WEB开发网   
核心提示: // 留意下面这行代码的写法document.writeln(obj);5). function类型javascript函数具有很多特性,除了面向对象的部分之外(这在后面讲述),JavaScript面向对象的支持(上)(5),它自已的一些独特特性应用也很广泛,首先javascript中的每

// 留意下面这行代码的写法

document.writeln(obj);

5). function类型

javascript函数具有很多特性,除了面向对象的部分之外(这在后面讲述),它自已的一些独特特性应用也很广泛。首先javascript中的每个函数,在调用过程中可以执有一个arguments对象。这个对象是由脚本解释环境创建的,你没有别的方法来自己创建一个arguments对象。arguments可以看成一个数组:它有length属性,并可以通过arguments[n]的方式来访问每一个参数。然而它最重要的,却是可以通过 callee 属性来得到正在执行的函数对象的引用。接下的问题变得很有趣:Function对象有一个 caller 属性,指向正在调用当前函数的父函数对象的引用。

——我们已经看到,我们可以在JavaScript里面,通过callee/caller来遍历执行期的调用栈。由于arguments事实上也是Function的一个属性,因此我们事实上也能遍历执行期调用栈上的每一个函数的参数。下面的代码是一个简单的示例:

  // 调用栈的遍历
  //---------------------------------------------------------
  function foo1(v1, v2) {
  foo2(v1 * 100);
  }function foo2(v1) {
 foo3(v1 * 200);
}function foo3(v1) {
 var foo = arguments.callee;
 while (foo && (foo != window)) {
  document.writeln('调用参数:<br>', '---------------<br>');  var args = foo.arguments, argn = args.length;
  for (var i=0; i<argn; i++) {
   document.writeln('args[', i, ']: ', args[i], '<br>');
  }
  document.writeln('<br>');  // 上一级
  foo = foo.caller;
 }
}

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:JavaScript 面向 对象

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接