实现函数自己调用自己
2011-04-14 11:37
501 查看
/*****************函数名****************/ //yell呼喊 //实现函数自己调用自己 function yell(n){ return n > 0 ? yell(n-1) + "a" : "hiy"; } alert(yell(4)) //忍者 //可以将函数赋给一个变量,在该函数中ninja==myNinja,在函数外无法访问myNinja, var ninja = function myNinja(){ assert( ninja == myNinja, "This function is named two things - at once!" ); }; ninja(); assert( typeof myNinja == "undefined", "But myNinja isn't defined outside of the function." ); //可以将一个匿名函数做为一个对象的属性 var ninja = { yell: function(n){ return n > 0 ? ninja.yell(n-1) + "a" : "hiy"; } }; assert( ninja.yell(4) == "hiyaaaa", "A single object isn't too bad, either." ); //可以将一个对象的属性继承给另一个对象。 var ninja = { yell: function(n){ return n > 0 ? ninja.yell(n-1) + "a" : "hiy"; } }; assert( ninja.yell(4) == "hiyaaaa", "A single object isn't too bad, either." ); var samurai = { yell: ninja.yell }; var ninja = null; //如果原始对象为空,则不能发生继承 try { samurai.yell(4); } catch(e){ assert( false, "Uh, this isn't good! Where'd ninja.yell go?" ); } //同上例(纠错) var ninja = { yell: function yell(n){ return n > 0 ? yell(n-1) + "a" : "hiy"; } }; assert( ninja.yell(4) == "hiyaaaa", "Works as we would expect it to!" ); var samurai = { yell: ninja.yell }; var ninja = {}; assert( samurai.yell(4) == "hiyaaaa", "The method correctly calls itself." ); //如果没有给函数指定名称,则arguments.callee就是它自己 var ninja = { yell: function(n){ return n > 0 ? arguments.callee(n-1) + "a" : "hiy"; } }; assert( ninja.yell(4) == "hiyaaaa", "arguments.callee is the function itself." );//yell呼喊 //实现函数自己调用自己 function yell(n){ return n > 0 ? yell(n-1) + "a" : "hiy"; } alert(yell(4))
相关文章推荐
- Linux下c++调用自己编写的matlab函数:通过shell script system command实现
- c#调用js,以及js调用C#里的函数, c#自己生成js代码,实现对web的控制
- sort函数的用法(C++排序库函数的调用) 对数组进行排序,在c++中有库函数帮我们实现,这们就不需要我们自己来编程进行排序了。 (一)为什么要用c++标准库里的排序函数 Sort()函数是c+
- lua 不调用外部函数自己实现获取随机数
- Linux下c++调用自己编写的matlab函数:通过matlab引擎实现
- Linux下c++调用自己编写的matlab函数:通过mcc动态链接库.so实现
- Linux下c++调用自己编写的matlab函数:通过mcc动态链接库.so实现
- 不调用fcntl,自己实现dup2函数功能
- 在R中调用自己定义的函数
- 面试常考题:不调用库函数,怎样实现字符串操作函数?
- Jorm使用Session实现存储过程和函数的调用
- 调用API的SDK相关知识:实现回调函数.
- GCC&&G++ C && C++ 内嵌汇编和调用汇编函数的方法(x86,ARM自己对照改)
- 一次意外的ioctl调用错误—论不同版本内核的ioctl函数实现
- 自己动手写字符串库函数 二(C语言实现)
- MyBatis源码解析(二)——动态代理实现函数调用
- printf_系统调用过程分析_write() putc() 函数实现
- pvtrace和Graphviz实现对linux下C程序的函数调用跟踪
- AsyncTask中各个函数详细的调用过程,初步实现异步任务
- C++学习 【4.2】 利用函数实现指定的功能---函数的调用