好程序员web前端分享函数作用域及递归
作用域的生命周期。
var a = 10;
function m1(){
var a = 5;
alert(a);
}
形参(形式参数)与实参(实际参数)的重要区别
var a = 10;
var x=0;
function fn(x){
x =a + 10;
}
fn (a);
递归的用法
什么是递归?
自身调用自身!
function pr(){
return pr()
}
关键点:
1.终止条件
2.运算规则
function pr(n){
if(n==1){ // 终止条件
return n;
}
return pr(n-1)+n;
}
打印任意个hello world;
function pr(n){
if(n==0){
return
}
document.write('hello world!!<br>');
return pr(n-1);
}
pr(10)
案例:求n个数字的和,5 计算1+2+3+4+5
<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title></head><body></body><script type="text/javascript">//函数的声明function getSum(x) {if (x == 1) {return 1;}return x + getSum(x - 1);}//函数的调用console.log(getSum(5));</script></html>
复制代码
案例:输出斐波那契额数列数列的前20项(递归)
斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........
<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title></head><body></body><script type="text/javascript">function fib(n) {if (n == 1 || n == 2) {return 1}return fib(n - 1) + fib(n - 2)}for (var i = 1; i <= 20; i++) {document.write(fib(i) + '<br>')}</script></html>
复制代码
好程序员web前端分享函数作用域及递归相关推荐
- JavaScript id_好程序员web前端分享Javascript中函数作为对象
好程序员web前端分享Javascript中函数作为对象,Javascript赋予了函数非常多的特性,其中最重要的特性之一就是将函数作为第一型的对象.那就意味着在javascript中函数可以有属性, ...
- 好程序员web前端分享详细了解JavaScript函数
好程序员web前端分享详细了解JavaScript函数,如果你曾经接触过JavaScript编程,你一定不会陌生如何定义并且调用一个函数.但是你知道在JavaScript中有多少种定义函数的方法吗?如 ...
- 好程序员web前端分享js剪切板Clipboard.js 使用
好程序员web前端分享js剪切板Clipboard.js 使用,clipboard.js是一个用来设置剪切板的库,小巧无依赖,但用法有点诡异,必须依赖一个DOM元素. 必须要与一个DOM元素相关联,并 ...
- 好程序员web前端分享Nodejs学习笔记之Stream模块
好程序员web前端分享Nodejs学习笔记之Stream模块 一,开篇分析 流是一个抽象接口,被 Node 中的很多对象所实现.比如对一个 HTTP 服务器的请求是一个流,stdout 也是一个流.流 ...
- 好程序员web前端分享JS引擎的执行机制
好程序员web前端分享JS引擎的执行机制,请先着重牢记两点!JS是单线程语言. JS的EventLoop是JS的执行机制.深入了解JS的执行,就等于深入了解JS里的eventloop. 1.灵魂三问: ...
- 好程序员web前端分享MVVM框架Vue实现原理
好程序员web前端分享MVVM框架Vue实现原理,Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js和react.js更加简洁 ...
- 好程序员web前端分享如何理解JS单线程
好程序员web前端分享如何理解JS单线程,JS本质是单线程的.也就是说,它并不能像JAVA语言那样,两个线程并发执行. 但我们平时看到的JS,分明是可以同时运作很多任务的,这又是怎么回事呢? 首先,J ...
- 好程序员web前端分享值得参考的css理论:OOCSS、SMACSS与BEM
为什么80%的码农都做不了架构师?>>> 好程序员web前端分享值得参考的css理论:OOCSS.SMACSS与BEM 最近在The Sass Way里看到了Modular C ...
- 好程序员web前端分享HTML基础篇
好程序员web前端分享HTML基础篇,最近遇到很多新手,都会问,如果要学web前端开发,需要学什么?难不难学啊?多久能入门之类的问题?那么今天好程序员就先来给大家分享一下web前端学习路线:HTML基 ...
最新文章
- Charles抓取微信小程序数据 以及 其它应用网站数据
- php mysqli::close()
- usgs地震记录如何下载_用大叶草绘制USGS地震数据
- Asp.net+Jquery实现用户信息异步验证
- eclipse让实现类也添加上接口的注释_您的Spring框架注释指南,请注意查收
- [Es] Rejecting mapping update to [xxx] as the final mapping would have more than 1 type [xxx xxx]
- pycharm自定义代码段
- 持续集成部署Jenkins工作笔记0013---配置远程触发构建的TOKEN值
- powershell:move-item
- 图形化升级单机oracle 11.2.0.1 到 11.2.0.4
- 最近点对问题C语言源代码
- 成考本科计算机找工作有用吗,成人本科学历找工作有用吗 就业困难吗
- pycharm IDEA专业版2016.3.2版本和 python3.5.0 win7 64位安装包 百度云资源共享 及安装和编辑器注册图录
- 日期操作类和io机制
- 部分HTTPS网站无法访问的可能原因
- SpringBoot应用WebSocket实现在线聊天
- 【论文翻译 假新闻检测综述 HICSS 2019】Can Machines Learn to Detect Fake News? A Survey Focused on Social Media
- 游戏测试——whistle抓包工具的使用
- freebsd nginx php mysql,FreeBSD8.2安装Nginx +Mysql+PHP+ Discuz_X2
- 有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子。如此循环,直到留下最后一个人。问留下来的人的编号。