js 方法中内部属性arguments的callee属性

var factorial=function(num){

if(num<=1)

return 1;

else

// return num*factorial(num-1);//递归时,在方法内部通过该方法的方法名来调用自己是非常危险的,因为js可以直接修改方法变脸的值

return num*arguments.callee(num-1);//递归时,应该使用方法内部属性arguments的callee属性,它保存了当前方法的地址(指针)

}

var another=factorial;

factorial=function(){

return 1;

}

alert(another(5));

alert(another(5));

时间: 2024-09-30 06:48:50

js 方法中内部属性arguments的callee属性的相关文章

解决webkit浏览器中js方法中使用window.event提示未定义的问题

这实际上是一个浏览器兼容性问题,根源百度中一大堆,简要说就是ie中event对象是全局变量,所以哪里都能使用到,但是webkit内核的浏览器中却不存在这个全局变量event,而是以一个隐式的局部变量的形式传入(后文会详说). function myfunc(param){ alert(window.event); } //ie中 <input type="button" onclick="myfunc('testie')" > //一切正常 //webk

js(20140517)在JS方法中返回多个值的三种方法

在JS方法中返回多个值的三种方法 在使用JS编程中,有时需要在一个方法返回两个个或两个以上的数据,用下面的几种方法都可以实现: 1 使用数组的方式,如下: <html> <head> <title>JS函数返回多个值--oec2003</title> </head> <body> <input type="button" onclick="getNames()" value="t

在JS方法中返回多个值的三种方法

在使用JS编程中,有时需要在一个方法返回两个个或两个以上的数据,用下面的几种方法都可以实现: 1 使用数组的方式,如下: <html> <head> <title>JS函数返回多个值--oec2003</title> </head> <body> <input type="button" onclick="getNames()" value="test" /> &

js方法中的this

比如有个function: 1 function ServiceMy(services) { 2 //存放this,用于调试用 3 var tmp_this = this; 4 this.services = []; 5 console.log(typeof this); 6 console.log(this.__proto__.constructor.name); 7 console.log(this.services == services); 8 console.log(services)

【js】js方法中直接跳转到servlet

function firm_back_state(id,name){ if(confirm("确认返单?")){ location.href="Edit_OrderServlet?method=delete&id="+id+"&in="+name; }else { alert("返单失败"); } }

C#后台程序与HTML页面中JS方法互调(功能类似于Ajax中的DWR)

此方法适用于 C#中嵌入WebBrowser(浏览器) 通过浏览器中加载的页面与C#的后台代码进行交互. 一.C#程序 1.在C#窗体中添加WebBrowser(浏览器),将页面的URL添加到浏览器中. 2.窗体代码添加 using System.Runtime.InteropServices;//和Html页面交互使用 在类的上一行添加 [ComVisible(true)]//和Html页面交互使用 在类的构造其中添加 this.webB.ObjectForScripting = this;

idea live template高级知识, 进阶(给方法,类,js方法添加注释)

为了解决用一个命令(宏)给方法,类,js方法添加注释,经过几天的研究.终于得到结果了. 实现的效果如下: 给Java中的method添加方法: /** * * @Method : addMenu * @Description : * @param menu : * @return : cn.yiyizuche.common.base.ResultMsg * @author : Rush.D.Xzj * @CreateDate : 2017-06-12 星期一 18:17:42 * */publi

js方法参数问题

大家都知道java是强类型语言,而js是弱类型语言,其实,它们之间的区别不止这一点,还有方法参数及调用问题,参看下例: js中:这里定义了一个query()方法 function query() { var blacklistNumber=$('#blacklistNumber').val(); var blacklistName=$('#blacklistName').val(); var blacklistSex = $('#blacklistSex').val(); queryObj.bl

jsp页面和js代码中使用sessionScope获取session值

场景:有些实体对象可以放到HttpSession对象中,保正在一个会话期间可以随时获取这个对象的属性,例如可以将登录用户的信息写入session,以保证页面随时可以获取并显示这个用户的状态信息.下面以此为例. 本文转自:http://blog.csdn.net/baidu_30809315/article/details/77159549 1.后台将用户这一实体对象写入session(HttpSession),这里是从拦截器中写入,代码中的userInfo是从单点登录服务器获取的登录用户信息 [