JS函数表达式
2016-03-24 09:38
603 查看
1.递归:
改进:用arguments.callee(num-1) 代替 digui(num-1) arguments.callee()是指向参数所在的函数的指针,code如下:
但是,arguments.callee在严格模式下会报错,故用命名函数表达式来代替:
命名函数表达式是最完美的解决方案
function digui(num) { if (num <= 1) { return 1; } else { return num*digui(num-1); // 报错 } } var d = digui; digui = null; d(3);
改进:用arguments.callee(num-1) 代替 digui(num-1) arguments.callee()是指向参数所在的函数的指针,code如下:
function digui(num) { if (num <= 1) { return 1; } else { return num*arguments.callee(num-1); } } var d = digui; digui = null; d(3)
但是,arguments.callee在严格模式下会报错,故用命名函数表达式来代替:
var digui = (function f(num) { "use strict"; if (num <= 1) { return 1; } else { return num * f(num-1); } });
命名函数表达式是最完美的解决方案
相关文章推荐
- JS函数openwindow()
- 浅析json与jsonp区别及通过ajax获得json数据后格式的转换
- JSP取得绝对路径
- <a href="#"><a herf="javascript:void(0)">...几种方法的使用与总结
- 动态更改js引入脚本
- js 中声明变量 “提前”
- flexslider+Ajax绑定加载
- 墙裂推荐4款js网页烟花特效
- JS判断当前的浏览器类型
- json与jsonp区别浅析(json才是目的,jsonp只是手段) (转)
- JavaScript驾驭网页-DOM
- JavaScript驾驭网页-CSS与DOM
- 拥有一个属于自己的javascript表单验证插件
- JS实现支持Ajax验证的表单插件
- JavaScript入门系列之知识点总结
- js中循环array string windows对象等用法
- jstree ajax请求加在数据
- js、javascript操作json总结
- 【Mocha.js 101】钩子函数
- 【Mocha.js 101】钩子函数