JS匿名函数以及arguments.callee的调用

var res = (function (n) {
    if( n>1 ) {
        return n + arguments.callee( n-1 );
    } else {
        return 1;
    }
})(100)
console.log(res);

时间: 2024-08-10 00:40:57

JS匿名函数以及arguments.callee的调用的相关文章

JS匿名函数声明,调用;JS闭包详解(转载)

js匿名函数的代码如下:(function(){ // 这里忽略jQuery 所有实现 })(); 半年前初次接触jQuery 的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在看到源码的第一眼,我就迷糊了.为什么只有一个匿名函数又没看到运行(当然是运行了…… ),就能有jQuery 这么个函数库了?于是,我抱着疑问来到CSDN .结果相信现在很多人都很清楚了(因为在我之 后也不乏来者,呵呵~ ).当一个匿名函数被括起来,然后再在后面加一个括号,这个匿名函数就能立即运行起来!真神奇哦

[沫沫金]JS匿名函数this调用变量报错

背景 今天使用Dcloud扫码功能,success成功方法设置data中的scanContext变量,报"undefined"! 思路 一.怀疑是扫码内容不是JSON对象,无法点属性报错.排除,使用JSON.parse转换成功后,依然报"undefined".二.怎么就"undefined"呢,百思不得其解.继续想办法 解决 突然,看到附件选择的方法,人家是设置的this.fileUrl成功的.比对下,什么区别.发现定义的匿名方法,写法不同.我的

js匿名函数闭包

函数声明: function functionName(arg0,arg1){ //函数体 } 函数表达式: var functionName = function(arg0,arg1){ //函数体 } 函数声明和函数表达式之间的主要区别是前者会在代码执行前被加载到作用域中,而后者是在代码执行到那一行的时候才会有定义.另一个区别是函数声明会给函数指定一个名字,而函数表达式则创建一个匿名函数,然后将这个函数赋给一个变量 1 递归 递归函数是在一个函数通过名字调用自身的情况下构成的,例如: fun

js匿名函数确实是个好东西

<body > <script type="text/javascript"> void function() { alert('弹出框'); }(); </script> </body> <body > <script type="text/javascript"> void function() { alert('弹出框'); }(); </script> </body&g

js匿名函数及闭包(javaScript高级程序设计第3版)

一.匿名函数 //普通函数 function box() { //函数名是box return 'Lee'; } //匿名函数 function () { //匿名函数,会报错 return 'Lee'; } //通过表达式自我执行 (function box() { //封装成表达式 alert('Lee'); })(); //()表示执行函数,并且传参 //把匿名函数赋值给变量 var box = function () { //将匿名函数赋给变量 return 'Lee'; }; aler

js匿名函数封装

js匿名函数封装 (function(root,factory){ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (root.Demo = factory()); })(this,function(){ funct

JS匿名函数之调用

何为匿名函数 很多东西我们可以通过字面就可以理解,当然也不是所有的都可以通过字面能理解的,因为程序语言毕竟是个很抽象的东西,光从字面理解肯定不够也不行,但是匿名函数就可以.所谓匿名函数就是没有名称的函数,例如下面这种: function (b) { a=1; c=a+b; return c; } 上面很简单,就是在我们定义一个函数的时候,我们并没有给它一个名称,这就是我们的匿名函数! 但是问题来了,匿名函数如何调用呢,我们都知道有名称的函数调用方式,例如: function jiujiu(b)

arguments.callee查询调用b函数的是哪个函数

// function functionname(){ // function b(){ // console.log(arguments.callee.caller.name); // } // b(); // } // functionname();

js匿名函数

一. 匿名函数的声明和使用1.声明一个匿名函数,直接赋值给某一个事件:2.使用匿名函数表达式.将匿名函数,赋值给一个变量.声明:var func=function(){  }调用:func(); 注意:使用匿名函数表达式时,函数的调用语句,必须放在函数声明语句之后!!!(与普通函数的区别)[js代码的执行顺序问题]js代码在运行时,会分为两大部分.检查装载和执行阶段.检查装载阶段:会先检测代码的语法错误,进行变量.函数的声明执行阶段:变量的赋值.函数的调用等,都属于执行阶段.以下代码为例: 原因