js中的函数function
来源:互联网 发布:淘宝专业刷信誉团队 编辑:程序博客网 时间:2024/05/29 14:45
js的function对象在调用过程中具有一个arguments的属性,它是由脚本解释器创建的(这也是arguments创建的唯一方式)。arguments属性可以看作是一个Array对象,它有length属性,可以通过序号访问每一个参数,而且通过argument的callee属性可以获取对正在执行的Function对象的引用。如下:
function factorial(n){ if(n<=n){ return 1; }else{ return n*arguments.callee(n-1); }}alert(factorial(5));
上面使用了callee属性完成了一个递归的算法。
Function的另一个属性是caller,它指向正在调用当前函数的父函数对象。利用callee和caller属性,可以很容易实现对堆栈的遍历,如:
function fool(v1){ foo2(v1,v2,v3);}function foo2(v1,v2){ foo3(v1,v2,v2*v2);}function foo3(v1,v2,v3){ var foo=argument.callee; while(foo&&(foo!=window)){ document.writeln('<br>调用参数:<br>','-------------------------------<br>'); var args=foo.argument;argn=args.length; for(var 1=0;i<arg;i++){ document.writeln('args[',i,']:',args[i],'<br>'); } document.writeln('<br>'); foo=foo.caller; }}foo(5);
Function是js中一个很特殊的对象,其特殊体现在他的多重身份上,如:
//function作为类的声明和实现function ClassA(){ this.prop1="prop1"; this.prop2="prop2";}//function作为构造函数var obj=new CalssA();//输出true,function作为类引用alert(obj instanceof CalssA);
Function可以声明普通函数,这和其他语言的概念是一样的,但Function还可以用于类的声明和实现,对象的构造函数以及类的引用。上面的代码中通过function关键字声明了ClassA类,并通过this关键字声明了两个属性prop1和prop2,然后在创建obj对象时,ClassA()由起到了对象构造函数的作用;最后代码中使用instanceof关键字判断obj对象是否是ClassA类的实例,此时ClassA又起到了类引用的作用。
0 0
- js中的函数function
- Asp.Net 如何调用js中的函数function ?
- js中的function函数对象和this指针详解
- Asp.Net 如何调用js中的函数function ?
- js 函数function用法
- js 函数Function
- JS:1.3函数(function)
- js 函数function用法
- js 函数 function
- js 函数function用法
- js function.call()函数
- JS Function中的return
- js中的function
- js中的$(function()
- JS中的 $(function(){ } 是什么意思
- js 中的function
- js中的function学习
- JavaScript中的Function函数
- java中的时间(1)
- Javascript继承机制的设计思想
- WebService第三课 使用CXF开发WebService客户端
- 重新初始化VS2010
- 字符设备驱动程序与用户程序交互示例
- js中的函数function
- 有return的情况下try catch finally的执行顺序
- Lesson9 Manipulating Data
- Lesson10 Using DDL Statements to Create and Manage Tables
- 厦门在建商场坍塌,又是一个豆腐渣
- Activity的生命周期 (Android review)
- Atitit.研发管理---TOGAF架构跟 (ADM开发方法)总结
- Getting Started with Solr 4.9 and Django haystack
- ubuntu上搭建工作环境